我通过jquery有一个客户端ajax帖子,例如:
$.ajax({
method: 'POST',
url: url,
data: {
one: 'test',
two: 'testing',
three: [1,2,3,4]
},
success: function() {},
error: function() {}
});
我有一个使用body-parser
的快速服务器,由于某种原因它在服务器上被收到:
{
one: 'test',
two: 'testing',
'three[]': [ '1', '2', '3', '4' ]
}
知道为什么three
设置为数组而不是字符串?希望它只是'three' : [ '1', '2', '3', '4' ]
答案 0 :(得分:0)
请确保在您的快递应用中使用bodyParser进行此设置
app.use(
bodyParser.json() //create application/json parser
);
同样在ajax请求中,您还没有将contentType设置为application / json。 默认情况下,它是'application / x-www-form-urlencoded;字符集= UTF-8' 所以将您的请求更改为
$.ajax({
method: 'POST',
url: url,
contentType:'application/json',
data: {
one: 'test',
two: 'testing',
three: [1,2,3,4]
},
success: function() {},
error: function() {}
});
这应该这样做