我是Node.js的初学者,我想咨询一些我无法弄清楚的东西。
即使我已经进行了广泛的研究,但是在没有使用插件的情况下我找不到任何方法来接收JSON请求。我将使用它来编写移动应用程序API。但即使我已经包含参数请求,我也无法使用 request.body 或 request.data 来访问内容。我想要的要求是;
{
"id":"123"
}
我失败的代码是;
var http = require('http');
function onRequest(request, response){
console.log("Request: "+request.data+"\n");
response.writeHead(200, {"Content-Type":"text/plain"});
response.write("Hello, World");
response.end();
}
http.createServer(onRequest).listen(8888);
答案 0 :(得分:1)
这里的问题是您没有收听request
事件以告知您有数据,然后解析数据。您假设request
有request.data
。
应该是:
var http = require('http');
function onRequest(request, response){
var data = '';
request.setEncoding('utf8');
// Request received data.
request.on('data', function(chunk) {
data += chunk;
});
// The end of the request was reached. Handle the data now.
request.on('end', function() {
console.log("Request: "+data+"\n");
response.writeHead(200, {"Content-Type":"text/plain"});
response.write("Hello, World");
response.end();
});
}
http.createServer(onRequest).listen(8888);
See this获取request
包含的方法的文档。