2016-01-28 88 views
0
var array = []; 
array.push(something); 

var data = { 
    action: action, 
    array: array 
    }; 

$.ajax({ 
     type: "POST", 
     data: data, 
     url: url, 
     success: something, 
     error: something 
    }); 

在我的請求在鉻網絡選項卡我看到數組[]作爲屬性名稱。真奇怪。

+0

這是形式的編碼是如何工作的....沒有比HTML數組名'不同的<輸入名稱= 「f_name []」>'。當在服務器作爲表格日期收到時,它將被正確解碼 – charlietfl

回答

0

這是因爲jQuery所做的數據處理。

jQuery.ajax()

如果值是數組,jQuery的序列化基於傳統的設置(下文中描述)的值與相同的密鑰 多個值。

jQuery.param()

你可以通過traditional: true禁用這種性質使

$.ajax({ 
    type: "POST", 
    data: data, 
    url: url, 
    traditional: true, 
    success: something, 
    error: something 
}); 
0

試試這個:

var myArray = []; 
myArray.push(something); 

$.ajax({ 
     type: "POST", 
     data: {myArray:myArray}, 
     url: url, 
     success: something, 
     error: something 
    }); 

我希望這有助於。乾杯。

0

嘗試this.This可以幫助你

var array = []; 
array.push(something); 

     $.ajax({      
       type : "POST", 
       url : ajax_url, 
       data : {'array' : array},//use single quote for key 
       success : function(res){}, 
       error : function(){} 
       }); 
+0

是否做到這一點,爲什麼我的屬性名稱被更改? – Jennifer