Impossible d'obtenir les données POST en utilisant NodeJS / ExpressJS et Postman

voici le code de mon serveur:

var express = require('express');
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.json());

app.post("/", function(req, res) {
    res.send(req.body);
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});

De Facteur, je lance une requête POST <!--5 http://localhost:3000/ et dans le Corps, données de formulaire, j'ai une clé "foo" et "bar".

Cependant, je reçois un objet vide dans la réponse. req.body propriété est toujours vide.

ai-je raté quelque chose?enter image description here

8
demandé sur user2923322 2017-01-31 13:25:00

1 réponses

ajouter l'encodage de la requête. Voici un exemple

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

sélectionnez x-www-form-urlencoded dans Postier ou un ensemble de Type de Contenu pour application/json et sélectionnez raw

Modifier pour l'utilisation de raw

Brut

{
  "foo": "bar"
}

en-Têtes

Content-Type: application/json

EDIT #2 Répondre à des questions sur le chat:

  1. pourquoi ne peut-il pas fonctionner avec form-data?

vous bien sûr, il suffit de regarder cette réponse Comment gérer FormData de express 4

  1. Quelle est la différence entre utiliser x-www-form-urlencoded et raw

les différences dans l'application/json et de l'application/x-www-form-urlencoded

13
répondu R. Gulbrandsen 2017-05-23 12:02:51