需求:再進行ajax進行請求post請求時,需要以一個固定的key向後臺發送一個數組。
此時這樣進行請求的時候 ,後臺接收不到我的這個數組
function ajax(){
let data = {
arr:[1,2,3]
}
$.ajax({
type: "post",
url: url + "/sss/", //自己接口的地址
dataType: "json",
async: false, //是否異步請求
data:data,
success: function(res) {
console.log(res)
},
error: function(errorMsg) {
console.log(url + "出現錯誤:", errorMsg);
}
});
}
ajax();
原因 :再瀏覽器的Network種查看參數的變量種多出來一個[]
- arr[]:1
- arr[]:2
- arr[]:3
解決方案(traditional)
在ajax代碼參數中增加traditional(防止深度序列化)並設置爲true
function ajax(){
let data = {
arr:[1,2,3]
}
$.ajax({
type: "post",
url: url + "/sss/", //自己接口的地址
dataType: "json",
async: false, //是否異步請求
data:data,
traditional: true,//這裏設置爲true
success: function(res) {
console.log(res)
},
error: function(errorMsg) {
console.log(url + "出現錯誤:", errorMsg);
}
});
}
ajax();
這樣傳輸的數據就變爲了:
- arr:1
- arr:2
- arr:3