在对象中具有重复的关键点只会覆盖以前的值。要使用$.ajax发送具有相同键的多个值,可以传递一个数组作为值。默认情况下$.ajax使用PHP样式的参数,因此[]将被追加到您的键中,为了避免这种情况,您必须设置参数
traditional: true
var settings = {
"url": "https://sample.com",
"method": "POST",
"timeout": 0,
traditional: true,
"headers": {
"Authorization": basicauth,
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"shoppingCarId": [9, 7]
},
};
$.ajax(settings).done(function(response) {
console.log(response);
});
实际传递参数如下
ajax在web项目开发中经常会用到,平时我们传递数据,基本都是一个参数名对应一个参数值,后端通过参数名就可以得到参数,从而进行相关逻辑处理,但是有时候我们会遇到批量操作,比如批量删除一个列表,这时候我们传递的就是一个id的数组,这时候前后端需要对数组传递做一些特别的处理,下面介绍两种方式处理ajax post请求传递数组参数的问题。
1、通过ajax一个

本文介绍了如何在Ajax中处理批量操作时传递具有相同键名但不同值的参数给后端。主要方法包括设置`traditional: true`属性以避免深度序列化,以及使用`JSON.stringify()`将参数转换为字符串。这两种方式可以确保后端能够正确接收到数组参数。

最低0.47元/天 解锁文章
445

被折叠的 条评论
为什么被折叠?



