Невозможно получить ответ от Почтальона после передачи данных JSON с запросом POST - PullRequest
0 голосов
/ 13 января 2020

Я делаю POST-запрос от Почтальона с JSON данными, имеющими электронную почту и пароль, но когда я пытался показать, что в окне ответа Почтальона ничего не отображается.

Похоже, что запрос POST не отправляет данные JSON с запросом, или я могу ошибаться при доступе к данным запроса.

Вот мой код:

    const express = require("express");
    const app = express();

    const database = {
      users: [
        {
          id: "1234",
          name: "john",
          email: "john@gmail.com",
          password: "john",
          entries: 0,
          joined: new Date()
        },
        {
          id: "123",
          name: "sally",
          email: "sally@gmail.com",
          password: "sally",
          entries: 0,
          joined: new Date()
        }
      ]
    };

    app.get("/", (req, res) => {
      res.send("This is working Get");
    });

    app.post("/signin", (req, res) => {
      res.json(req.body);
    });

    app.listen(3000, () => {
      console.log("Server Started at port number 3000");
    });

enter image description here

Ответы [ 2 ]

2 голосов
/ 13 января 2020

Шаг 1: Если вы делаете запрос, используя raw(application/json), вам нужно установить ниже npm, который проанализирует ваши запросы,

npm install body-parser --save

Plesae go Перейдите по ссылке ниже для получения дополнительной информации:

https://www.npmjs.com/package/body-parser

Шаг 2: Вам необходимо добавить строку ниже в файл вашего сервера

var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json())

Шаг 3: После интеграции bodyParser вы можете получить доступ к данным запроса, используя req.body

Вот код с решением:

var express = require("express");
var bodyParser = require("body-parser");

var app = express();

const database = {
    users: [{
            id: "1234",
            name: "john",
            email: "john@gmail.com",
            password: "john",
            entries: 0,
            joined: new Date()
        },
        {
            id: "123",
            name: "sally",
            email: "sally@gmail.com",
            password: "sally",
            entries: 0,
            joined: new Date()
        }
    ]
};

app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json())

app.post("/signin", (req, res) => {
    res.json(req.body);
});

app.listen(8080, () => {
    console.log("Server has been started");
});
1 голос
/ 13 января 2020

Наряду с express, вам нужен модуль 'body-parser' для пост-запроса на работу,


 const express = require("express");
    const app = express();
    const bodyParser = require('body-parser');
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());
    app.use(bodyParser.raw());
    const database = {
      users: [
        {
          id: "1234",
          name: "john",
          email: "john@gmail.com",
          password: "john",
          entries: 0,
          joined: new Date()
        },
        {
          id: "123",
          name: "sally",
          email: "sally@gmail.com",
          password: "sally",
          entries: 0,
          joined: new Date()
        }
      ]
    };

    app.get("/", (req, res) => {
      res.send("This is working Get");
    });

    app.post("/signin", (req, res) => {
      res.json(req.body);
    });

    app.listen(3000, () => {
      console.log("Server Started at port number 3000");
    });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...