如何将数组数组作为$ .ajax()中的数据发送?
问题描述:
我知道这个问题已经被问过很多次,但没有人帮助过我。 我正在尝试通过使用$ .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:评论行是各种方式,我试图传递一个数组。我是新来的阿贾克斯,请忽略我的noobness。
答
我得到了该问题的解决方案。 首先不是传递数组数组,而是将它作为一个对象数组发送。现在
我val_pass是objects.Code的数组:
var jObject={};
jObject = JSON.stringify(val_pass);
$.ajax({
type: 'POST';
data: {jObject: jObject};
url: some_url;
});
称此链接寻求帮助。
+2
你是如何在PHP中处理接收页面的? – Vincent 2015-04-28 17:02:38
答
如果你使用的是Json,那么type应该是json。而成功的函数参数即json是保存数据的变量。所以数据:JSON
$.ajax({
url: url_to_load,
dataType: 'json',
data: json,
success: function(json){
};
});
更加用户友好的版本如下:
$.getJson("service.php",function(json){
//code goes here
});
你可以添加你的相关的php代码吗? – empiric 2014-12-09 12:06:32
问题是什么?使用JSON.stringify:'JSON.stringify([[1,2,3],[4,5,6]])'=>“[[1,2,3],[4,5,6]]” 。我认为你需要更多的关注你的PHP代码,将一个响应解析为一个数组数组。 – Pinal 2014-12-09 12:07:34
我试着使用这个通过看到类似的问题和答案,它适用于这个简单的数组 var info = []; info [0] ='hi'; info [1] ='你好'; $就({ 类型: “POST”, 数据:{信息:信息}, URL: “的index.php”, }); – 2014-12-09 12:11:12