繁体   English   中英

在Node.JS中发布和解码Json

[英]Post and decode Json In Node.JS

我正在尝试将关联数组发布到另一个node.js服务器,内部在我的服务器中:

第一台服务器用Request这样发布请求

var request = require('request');
request.post('http://localhost:8084/',{ json: {"isposted": {"ok":"val"}}});

第二台服务器的结果是这样的:

{ '{"isposted":{"ok":"val"}}': '' }

代替:

{"isposted":{"ok":"val"}}

服务器(第二个)解析数据的源代码是这样的:

 var http = require('http'); var qs = require('qs'); var processRequest = function(req,callback) { var body=''; req.on('data', function(data) { body+=data; }); req.on('end', function() { callback(qs.parse(body)); }); } var server2 = http.createServer(function(req, res) { processRequest(req,function(data){ try { data=JSON.parse(data.jsonData); } catch(e) { data=data; } console.log(data); }); }); 

qs是错误的程序包,无法像这样解码JSON: callback(qs.parse(body)); 尝试像这样使用JSON.parse: callback(JSON.parse(body));

尝试此操作以支持不同类型的编码:

req.on('end',  function(){ 
    if ('application/json' === req.headers['content-type']) {
        callback(JSON.parse(body)); 
    }
    else {
        callback(qs.parse(body));
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM