我有两个node.js文件:&#34; client&#34;和&#34;服务器&#34;。 &#34;服务器&#34;只是侦听任何http请求,然后在收到请求对象时将其写入控制台。这符合GET请求的预期效果。当我编写一个类似于POST的JSON下面的客户端时,似乎可以正常工作,除非在请求中的任何地方都没有JSON输出到&#34;服务器&#34;。< / p>
在&#34;服务器&#34;的输出中打印到控制台,所有其他请求特定的东西都存在,例如主机:&#39; 127.0.0.1&#39;,url:&#39; / some / path&#39;,方法:&#39; POST& #39;
但没有引用任何已发布的JSON ....像用户名这样的项目:&#39; someUser&#39;,email:&#39; some@email.com' ;, firstName:&# 39; SomeFN&#39;,lastName:&#39; SomeLN&#39;
从&#34; Server&#34;完成控制台输出是here。
//client
var http = require('http');
var user = {
username: 'someUser',
email: 'some@email.com',
firstName: 'SomeFN',
lastName: 'SomeLN'
};
var userString = JSON.stringify(user);
var headers = {
'Content-Type': 'application/json',
'Content-Length': userString.length
};
var options = {
host: '127.0.0.1',
port: 80,
path: '/some/path',
method: 'POST',
headers: headers
};
// Setup the request. The options parameter is
// the object we defined above.
var req = http.request(options, function(res) {
res.setEncoding('utf-8');
var responseString = '';
res.on('data', function(data) {
responseString += data;
});
res.on('end', function() {
var resultObject = JSON.parse(responseString);
});
});
req.on('error', function(e) {
// TODO: handle error.
});
req.write(userString);
req.end();
//server
var http = require('http');
var stringify = require('json-stringify-safe');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(stringify(req, null, 2));
console.log(req)
}).listen(80, '127.0.0.1');