CNode

求助,关于querystring这个module的bug,亲们遇到过么,怎么解决的

问答
Ffantasticsoul发布于11 年前最后回复11 年前7 回复4606 浏览0 收藏

上代码示例:

var postData = { "id": "eee", "data": {"sid": "bb"}, "game": {"gameId": "aa"}, "sign": "11" }; console.log(require("querystring").stringify(postData));// 打印 id=eee&data=&game=&sign=11 看到没data和game的值丢了,这样的话post到服务器的数据就不对了,~~~~(>_<)~~~~,求怎么解决,querystring这个函数我看了 ,他没考虑到value是对象的情况啊

如果 var postData = { "id": "eee", "data": "ddd", "game": "eee", "sign": "11" }; console.log(require("querystring").stringify(postData));// 打印 id=eee&data=ddd&game=eee&sign=11 这个就是ok的

--------------------------------------------问题解决了-----------------------------------------------------
http请求里,'Content-Type': 默认是 'application/x-www-form-urlencoded',这种编码在post时,只能提交 { a: 1 , b : 1 } 类似这样的一层的json数据,要设置为  application/json,才能提交 { a: { b : 1 , c : 1 } , b : 1 }这样的多层的json数据
查看回复

回复 (7)

J
jinceon#1·11 年前

为何要用querystring

F
fantasticsoul#2·11 年前
引用 jinceon为何要用querystring

@jinceon 那该用什么,求答案

J
jinceon#3·11 年前

一开始还以为你是要问 json转字符串

K
klesh#4·11 年前

那个数据格式显然不是querystring.

A
alsotang#5·11 年前

用这个库:https://www.npmjs.com/package/qs ,默认的 querystring 不支持嵌套

J
jinceon#6·11 年前
引用 alsotang用这个库:https://www.npmjs.com/package/qs ,默认的 querystring 不支持嵌套

@alsotang 你们是怎样发现那么多优质的库的。。。

A
alsotang#7·11 年前
参与回复
登录后即可参与回复。登录