jQuery Ajax post 数组到后端
jquery ajax怎么可以直接传数组数据到后端?还是不能啊。每次我传数组比如{test:[1,2,3]}到后台服务器,test会变成test[],导致后端无法拿到数据,请求指点,谢谢大家。
$.ajax({
method: "POST",
url: uri,
dataType: "json",
contentType: 'application/x-www-form-urlencoded',
data: {test:[1,2,3]},
processData: false,
headers: {
'X-Auth-Token': token
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
方法一
$.param(data, true);
方法二
更简单,ajax的时候加上traditional: true。
感谢kikong的回答,已经找到解决的办法;在传送之前调用$.param(data, true);就可以了。
你可以吧数组拼接成字符串传到后台。
例如[1,2,3].join(',');
有两种选择。
一种是
JSON.stringify([1,2,3])
,到后端再解析。另外一种是后端的接受的
contentType
改成application/json
。