节点:基本JSON请求

时间:2012-09-30 16:59:25

标签: json node.js request

我是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);

1 个答案:

答案 0 :(得分: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);

See this获取request包含的方法的文档。