【问题标题】:How to do a simple read POST data in Node JS?如何在 Node JS 中进行简单的读取 POST 数据?
【发布时间】:2011-04-03 18:02:50
【问题描述】:

我已使用此代码读取查询字符串 ?name=Jeremy ...谁能告诉我如何处理发布数据?也用json?

var http = require('http'), url = require('url');
http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type":"text/plain"});
    var urlObj = url.parse(request.url, true);
    response.write("Hello " + urlObj.query["name"] + "!\n");
}).listen(8000);

谢谢!

【问题讨论】:

    标签: javascript http post node.js


    【解决方案1】:

    您必须处理http.ServerRequest 对象的dataend 事件。示例:

    var util = require("util"),
        http = require('http'), 
         url = require('url'),
          qs = require('querystring');
    
    ...
    
    // this is inside path which handles your HTTP POST method request
    if(request.method === "POST") {
        var data = "";
    
        request.on("data", function(chunk) {
            data += chunk;
        });
    
        request.on("end", function() {
            util.log("raw: " + data);
    
            var json = qs.parse(data);
    
            util.log("json: " + json);
        });
    }
    

    Here 是一篇关于这个主题的文章,带有示例(node.js 版本太旧,可能无法使用,但原理相同)。

    【讨论】:

    • 我在谷歌上搜索,我注意到你的答案是一年前的……这仍然准确吗?另外,我使用的是 express,这里显然没有使用
    • 这里的问题是响应不会是正确格式的JSON。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    相关资源
    最近更新 更多