Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在$.ajax()中将数组数组作为数据发送?_Jquery_Arrays_Ajax - Fatal编程技术网

Jquery 如何在$.ajax()中将数组数组作为数据发送?

Jquery 如何在$.ajax()中将数组数组作为数据发送?,jquery,arrays,ajax,Jquery,Arrays,Ajax,我知道这个问题以前被问过很多次,但没有一次对我有帮助。 我试图使用$.ajax通过数据传递数组,数组本身可能有数组,也可能没有数组。从服务器收到的响应应该与根据php中的代码发送的数据相同,但它发送的是空对象。 请帮助我了解传递这样一个数组的正确语法 val_pass是一个数组数组,display_消息是要附加的段落。下面是我的代码: $.ajax({ type: 'POST', url: 'http://someurl.com/', // da

我知道这个问题以前被问过很多次,但没有一次对我有帮助。 我试图使用$.ajax通过数据传递数组,数组本身可能有数组,也可能没有数组。从服务器收到的响应应该与根据php中的代码发送的数据相同,但它发送的是空对象。 请帮助我了解传递这样一个数组的正确语法

val_pass是一个数组数组,display_消息是要附加的段落。下面是我的代码:

 $.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");
        },
    });

备注:注释行是我尝试传递数组的各种方式。我是ajax新手,请忽略我的缺点。

如果您使用的是Json,那么类型应该是Json。success的函数参数json是保存数据的变量。所以数据是:json

 $.ajax({
 url: url_to_load,
 dataType: 'json',
 data: json,
 success: function(json){
 };
 });
更方便用户的版本如下:

$.getJson("service.php",function(json){
//code goes here
});

我找到了解决这个问题的办法。 首先,我没有传递数组,而是将其作为对象数组发送

现在我的val_pass是对象数组。代码:

var jObject={};
jObject = JSON.stringify(val_pass);

$.ajax({
    type: 'POST';
    data: {jObject: jObject};
    url: some_url;
});

请参阅此链接以获取帮助。

您也可以添加相关的php代码吗?有什么问题吗?使用JSON.stringify:JSON.stringify[[1,2,3],[4,5,6]=>[[1,2,3],[4,5,6]]。我认为您需要更多地关注php代码,将响应解析为数组;信息[0]=“你好”;信息[1]=“你好”;$。ajax{type:POST,data:{info:info},url:index.php,};使用JQuery.parseJSONstr函数将JSON.stringify返回的字符串转换为实际的javascript对象,然后将该对象设置为ajax调用中的数据属性,并将数据类型设置为jsonEg:$.parseJSON'{0:1,2,3,1:4,5,6}',在接收页面中如何在PHP中处理此问题?更为用户友好?你一定是在开玩笑