0

我是 Node.js 的完整初学者,我想咨询一些我无法弄清楚的东西。

即使我进行了广泛的研究,我也找不到任何不使用插件来接收 JSON 请求的方法。我将使用它来编写移动应用程序 API。但即使我已经包含参数请求,我也无法通过使用request.bodyrequest.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);
4

1 回答 1

1

这里的问题是您没有监听request事件来让您知道您有数据,然后解析数据。你假设requestrequest.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);

有关包含的方法的文档,请参阅thisrequest

于 2012-09-30T23:11:44.937 回答