微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node.js – 使用querystring发送和接收数组作为GET / POST

我有以下代码,但似乎不起作用:

var post_req = {
    array: [
        [ {
            param1: 'something',param2: 123
        } ],[ ],[ {
            param2: 'something',param4: 1234,param1: 'hello'
        } ]
    ]
};
var data_send = querystring.stringify(post_req);

var request = client.request('POST','/',headers);
request.end(data_send);

if( req.method == 'POST' ) {
    req.addListener('data',function(chunk)
    {
        POST = querystring.parse(chunk);
        console.log(POST);
    }
}

我最终得到5个子数组,对应于对象中的5个参数,但在其名称加上额外的’] [‘字符:

{ array: 
   [ { '][param1': 'something' },{ '][param2': '123' },{ '][param2': 'something' },{ '][param4': '1234' },{ '][param1': 'hello' }
   ]
}

解决方法

一个新的节点包修复这个:“npm install qs”.

https://github.com/visionmedia/node-querystring

查询字符串解析器,用于支持嵌套的节点,因为它从0.3.x中删除,因此此库提供了以前和通常所需的行为(并且两倍快)”

如果有人可以告诉我为什么它从0.3.x删除,我会给你一个upVote你的评论. (我希望我对Node.js的信心得到恢复.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐