ajax進行post請求向後臺傳輸數組

需求:再進行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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章