Ошибка диапазона [ERR_HTTP_INVALID_STATUS_CODE]: Неверный код состояния:

#node.js #json #express

Вопрос:

Это полное сообщение об ошибке, когда я открываю http://localhost:5000/express_backend

введите описание изображения здесь

Я пытаюсь отправить объект json на сервер и получил эту ошибку.

Ниже приведен мой server.js

 const express = require('express'); //Line 1
const app = express(); //Line 2
const port = process.env.PORT || 5000; //Line 3

app.listen(port, () => console.log(`Listening on port ${port}`)); 

app.use((err,req,res,next)=>{
   res.status(404).json({
       error : {
           message : err.message
      }
   });
})

// create a GET route
app.get('/express_backend', (req, res) => { //Line 9
  res.send(
    {
      name: "Tester one",
      techs: ["React amp; Redux", "Express", "MySQL"],
      description: "Lorem ipsum doabore et",
      checkin: "09:00",
      checkout:"18:30",
      type:"Known"
  },
  {
      name: "Tester two",
      techs: ["React amp; Redux", "Express", "MySQL"],
      description: "Lorem ipsum dolor sit amet, consectetet",
      checkin: "09:00",
      checkout:"18:30",
      type:"Blacklisted"
  }
  );
}); 
 

Я не уверен, почему это происходит, я пытаюсь отправить объекты json на сервер

Комментарии:

1. Параметр StatusCode отсутствует в объекте ответа /express_backend

2. app.use((err,req,res,следующий)=>{ res.статус(404).json({ ошибка : { сообщение : err.сообщение } }); })

3. но я должен определить это ^

Ответ №1:

У вас опечатка, вы потеряли скобки [] , это должно быть

 res.send([
  {
    name: 'Tester one',
    techs: ['React amp; Redux', 'Express', 'MySQL'],
    description: 'Lorem ipsum doabore et',
    checkin: '09:00',
    checkout: '18:30',
    type: 'Known',
  },
  {
    name: 'Tester two',
    techs: ['React amp; Redux', 'Express', 'MySQL'],
    description: 'Lorem ipsum dolor sit amet, consectetet',
    checkin: '09:00',
    checkout: '18:30',
    type: 'Blacklisted',
  },
]);