【问题标题】:Node: Basic JSON request节点:基本 JSON 请求
【发布时间】:2012-09-30 16:59:24
【问题描述】:

我是 Node.js 的初学者,我想咨询一些我想不通的东西。

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

【问题讨论】:

标签: json node.js request


【解决方案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 包含的方法的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 2017-08-09
    • 2018-12-08
    • 2019-03-07
    相关资源
    最近更新 更多