Où est-ce que l'information que j'ai transmise est?

J'ai ce serveur http du noeud.

/** * Module dependencies. */ var http = require('http'), fs = require('fs'), cycle = require('./cycle.js'); /** * Create the server. */ var server = http.createServer(function (req, resp) { console.log(JSON.decycle(req) ); if ('GET' === req.method && '/images' === req.url.substr(0, 7) && '.jpg' === req.url.substr(-4) ) { fs.stat(__dirname + req.url, function (err, stat) { if (err || !stat.isFile() ) { res.writeHead(404); res.end('Not Found'); return; } serve(__dirname + req.url, 'application/jpg'); }); } else if ('GET' === req.method && '/' === req.url) { serve(__dirname + '/index.html', 'text/html'); } else { resp.writeHead(404); resp.end('Not found'); } function serve(path, type) { resp.writeHead(200, {'Content-Type': type}); fs.createReadStream(path).pipe(resp); } }); /** * Listen. */ server.listen(3000); 

(Il utilise l'utilitaire d'impression d'objet de Crockford. Https://github.com/douglascrockford/JSON-js/blob/master/cycle.js )

Lorsque je l'ai frappé avec cette demande, les éléments d'information que j'ai transmis n'apparaissent pas dans la demande. Pourquoi pas?

 RickH$ curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -H "Postman-Token: 647062e3-bd38-edf0-3b3a-e56227daf94c" -d '&first_name=James&last_name=Taylor&city=Urbana&state=Illinois' "localhost:3000" RickH$ 

Il s'agit d'une version réduite d'un projet plus vaste. Dans le projet plus vaste, la requête est diffusée sur un autre serveur qui réagit en fonction du contenu de la requête. Je pense donc que je sais que le contenu est terminé. Mais où est-ce?

Plus tard—————-

 /********* Version 2 of server callback function. This one shows the full request body. var server = http.createServer(function (req, resp) { console.log(); console.log('=========================%=========================='); console.log(); console.log(JSON.decycle(req) ); req.rawBody = ''; req.setEncoding('utf8'); req.on('data', function (chunk) { req.rawBody += chunk; // next(); }); req.on('end', function () { console.log(); console.log('~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~'); console.log(); console.log(JSON.decycle(req) ); // next(); }); if ('GET' === req.method && '/images' === req.url.substr(0, 7) && '.jpg' === req.url.substr(-4) ) { fs.stat(__dirname + req.url, function (err, stat) { if (err || !stat.isFile() ) { res.writeHead(404); res.end('Not Found'); return; } serve(__dirname + req.url, 'application/jpg'); }); } else if ('GET' === req.method && '/' === req.url) { serve(__dirname + '/index.html', 'text/html'); } else { resp.writeHead(404); resp.end('Not found'); } function serve(path, type) { resp.writeHead(200, {'Content-Type': type}); fs.createReadStream(path).pipe(resp); } }); *********/ 

Vous avez besoin du code suivant pour obtenir un corps (votre information) de demande

 var data; req.on('data', function(chunk){ data += chunk; }); req.on('end', function(){ console.log(data); });