[英]Jquery not passing array via ajax
我正在嘗試通過ajax將javascript數組發送到php,但未發送,這是我的代碼
var ArrayAmounts = new Array();
ArrayAmounts["P1"] = "16150";
$.ajax({
url:"myajax",
cache:'false',
type:'POST',
data:{Arr:ArrayAmounts},
success: function(data){
console.log(data);
},error: function(xhr, AjaxOptions, ThrownError){
ShowMessage(xhr.responseText);
}
});
但是當我像這樣制作數組時:
var ArrayAmounts = new Array();
ArrayAmounts[0] = "16150";
它正在傳遞數組,但我希望鍵為字母數字。 請幫忙。
因此,這里不需要數組,需要使用如下對象:
var Amounts = {};
Amounts["P1"] = "16150";
$.ajax({
url:"myajax",
cache:'false',
type:'POST',
data:{Arr: Amounts},
success: function(data){
console.log(data);
},error: function(xhr, AjaxOptions, ThrownError){
ShowMessage(xhr.responseText);
}
});
您的問題與您要發送的數據類型有關,因為如文檔所述:
“它已經轉換為查詢字符串,如果還不是字符串。它會附加到GET請求的url上。 對象必須是鍵/值對。如果value是一個Array,則jQuery會根據值使用相同的鍵序列化多個值傳統背景
您可以這樣聲明數組:var ArrayAmounts = new Array(); ArrayAmounts = [“ 16150”]; 然后您的ajax調用正常工作
這樣使用
var ArrayAmounts = {};
ArrayAmounts.P1 = "16150";
var dataArray = {Arr: ArrayAmounts};
$.ajax({
url:"myajax",
cache:'false',
type:'POST',
data: dataArray ,
success: function(data){
console.log(data);
},error: function(xhr, AjaxOptions, ThrownError){
ShowMessage(xhr.responseText);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.