347 votes

Comment consommer des données JSON dans une application Express

Je vous envoie la chaîne JSON suivante sur mon serveur.

Sur le serveur, j’ai cela.

Quand j’envoie la chaîne, il montre que j’ai obtenu une réponse 200, mais ces deux autres méthodes ne faites jamais fonctionner. Pourquoi ?

588voto

pero Points 7952

Je pense que vous êtes l'amalgame entre l'utilisation de l' response objet avec celle de l' request.

L' response objet est pour l'envoi de la réponse HTTP au client appelant, alors que vous êtes désireux d'accéder au corps de l' request. Voir cette réponse qui donne quelques indications.

Si vous êtes en utilisant JSON valide et postez-il avec Content-Type: application/json, alors vous pouvez utiliser l' bodyParser middleware pour analyser le corps de la demande et place le résultat dans request.body de votre itinéraire.

var express = require('express')
  , app = express.createServer();

app.use(express.bodyParser());

app.post('/', function(request, response){
  console.log(request.body);      // your JSON
  response.send(request.body);    // echo the result back
});

app.listen(3000);

Test le long des lignes de:

$ curl -d '{"MyKey":"My Value"}' -H "Content-Type: application/json" http://127.0.0.1:3000/
{"MyKey":"My Value"}

218voto

cpac Points 508

Pour Express v4 +

installer les corps-analyseur de la NGP.

https://www.npmjs.org/package/body-Parser#installation

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X