上代码示例:
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 回复