【发布时间】:2014-11-15 22:28:32
【问题描述】:
我总是使用查询字符串来解析客户端发布的数据。但这是我第一次发布数组,我遇到了同样的问题。
客户端:
$.ajax({
url: 'myurl',
type: "POST",
data: {ids: ["str1","str2","str3"]},
success: function (msg) {
location.reload();
},
error: function (msg) {
alert("ServerError");
},
cache: false,
});
服务器端:
var body='';
req.on('data', function(chunk) {
body += chunk.toString();
});
req.on('end', function() {
var parsedbody = querystring.parse(body);
console.log(parsedbody);// {'ids[]':["str1","str2","str3"]}
我的问题?好吧,首先注意注释:关键是ids[] 而不是简单的ids。如此奇怪和烦人。还有一个大问题:如果我传递一个带有这样一个字符串的数组:
data of ajax request--> data: { ids: ["str1"] }
console.log 变成
console.log(parsedbody);// {'ids[]':"str1"}
console.log(parsedbody['ids[]'].length);// 4 (instead of 1)
你可以看到我的数组变成了一个字符串,这是一个问题。
【问题讨论】:
-
body 是一个查询字符串!!
标签: javascript arrays node.js query-string