我试图通过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";
它正在传递数组,但我想将密钥作为字母数字。 请帮忙。
答案 0 :(得分:4)
所以你不需要这里的数组,你需要使用这样的对象:
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);
}
});
答案 1 :(得分:0)
您的问题与您发送的数据类型有关,因为文档说明:
"如果不是字符串,则转换为查询字符串。它' S 附加到GET请求的URL。 对象必须是键/值 对。如果value是一个数组,jQuery将使用多个值序列化 基于传统设置值的相同密钥"
答案 2 :(得分:0)
你可以像这样声明数组: var ArrayAmounts = new Array(); ArrayAmounts = [“16150”]; 然后你的ajax调用正常工作
答案 3 :(得分:0)
像这样使用
http://