我知道这个问题曾经多次被问过,但没有人帮助过我。 我试图通过使用$ .ajax()的数据传递一个数组数组(可能有也可能没有数组)。从服务器收到的响应应该与发送的数据相同(根据php中的代码),但它发送空白对象。 请帮助我知道传递这样一个数组的正确语法。
val_pass是一个数组数组,#display_message是要追加的段落。这是我的代码:
$.ajax({
type: 'POST',
url: 'http://someurl.com/',
// data: JSON.stringify(val_pass),
// data: JSON.stringify({paramName: val_pass}),
// data: {'myArray': val_pass},
// data: $.toJSON(val_pass),
data: {val_pass: val_pass},
// data: $.serialize(val_pass),
success: function(response){
console.log(response);
$('#display_message').append('Data successfully passed');
},
error: function(xhr, status, errorThrown){
console.log(xhr+status+errorThrown);
alert("Sorry");
},
});
PS:注释行是我尝试传递数组的各种方式。我是ajax的新手,请忽略我的noobness。
答案 0 :(得分:1)
如果你使用的是Json,那么输入应该是json。成功的函数参数即json是保存数据的变量。所以数据:json
$.ajax({
url: url_to_load,
dataType: 'json',
data: json,
success: function(json){
};
});
更加用户友好的版本如下:
$.getJson("service.php",function(json){
//code goes here
});
答案 1 :(得分:0)
我得到了问题的解决方案。 首先,我将其作为一个对象数组发送,而不是传递数组数组。
现在我的val_pass是对象数组。代码:
var jObject={};
jObject = JSON.stringify(val_pass);
$.ajax({
type: 'POST';
data: {jObject: jObject};
url: some_url;
});
请参阅此链接以获取帮助。