Php 如何使用Post Ajax传递多维JS数组

Php 如何使用Post Ajax传递多维JS数组,php,javascript,ajax,post,multidimensional-array,Php,Javascript,Ajax,Post,Multidimensional Array,我对JS多维数组和ajax有一个问题,我尝试了很多东西,决定加入数组,然后在php上进行分解,得到数组 我决定,在看了之后,如果a发送“park”数组,如下所示: $.post( VIEW+THEME+"ajax/insertPark.php", { p:Base64.encode(park), } 我没有得到PHP上的数组 Join不起作用,我不知道是不是因为我的数组看起来不像:[水果,食物,肉] 并在console.log中测试park.join,使

我对JS多维数组和ajax有一个问题,我尝试了很多东西,决定加入数组,然后在php上进行分解,得到数组

我决定,在看了之后,如果a发送“park”数组,如下所示:

    $.post( VIEW+THEME+"ajax/insertPark.php", {
            p:Base64.encode(park),
    }
我没有得到PHP上的数组

Join不起作用,我不知道是不是因为我的数组看起来不像:[水果,食物,肉]

并在console.log中测试park.join,使park为字符串“~”,不包含其他数据

var park = [];
    $.each(languajes, function(i, itemData) {
        park[i] = [];
        park[i]['idLanguaje']   = itemData['idLanguaje'];
        park[i]['name'] = $('#name-'+itemData['idLanguaje']).val();
    });

    console.log(park);
    console.log(park.join('~'));

    $.post( VIEW+THEME+"ajax/insertPark.php", {
            p:Base64.encode(park.join('~')),
    }, function(data) {
        //window.location.href='/';
    }, "json" );
你知道我该怎么做吗?数组中的元素取决于数据库中语言的数量(即:不同语言上的公园名称),可以是ES、EN或ES、EN、RU、FR。。。功能必须适应这一点


谢谢你的建议

从数组中生成json并将其字符串化-


在PHP中,使用json_解码函数

从数组中生成json并将其字符串化-


在PHP中使用json_解码函数

您可以尝试将数组编码为json吗?像这样的

JS:

PHP:


您可以尝试将数组编码为JSON吗?像这样的

JS:

PHP:


您的
park
变量不是多维数组,而是对象数组。将行
park[i]=[]
更改为
park[i]={}
也可以反映这一点:尝试将数据作为JSON字符串发送:
JSON.stringify(park)是的,太感谢你了,我在想也许我在那行有什么不好的地方,但不知道{}如何定义数组的第二维度。
{}
没有定义第二维度,它定义了一个对象:JS没有关联数组,只有带有数字索引或对象的数组(实际上,数组也只是“pimped”对象)。它很像C++:一个数组:
intintintarray[]
vs
struct-assocArray{int-foo;char*bar;}
您的
park
变量不是多维数组,而是对象数组。将行
park[i]=[]
更改为
park[i]={}
也可以反映这一点:尝试将数据作为JSON字符串发送:
JSON.stringify(park)是的,太感谢你了,我在想也许我在那行有什么不好的地方,但不知道{}如何定义数组的第二维度。
{}
没有定义第二维度,它定义了一个对象:JS没有关联数组,只有带有数字索引或对象的数组(实际上,数组也只是“pimped”对象)。它很像C++:一个数组:
intintintarray[]
vs
struct-assocArray{int-foo;char*bar;}
是否需要下载库?或者现在是本机版本?它是IE8+和其他需要下载库的现代版本的本机版本?或者现在是原生的?它是IE 8+和其他现代浏览器的原生版本。我有PHP中关于$_请求['p']或$_POST['p']的数据,但是json_解码不起作用:S,在这里找到的解决方案现在我有PHP中关于$_请求['p']或$_POST['p']的数据,但是json_解码不起作用:S,在这里找到的解决方案
var parkString = JSON.stringify(park);
$.post( VIEW+THEME+"ajax/insertPark.php", {
        p: parkString,
}
$park = json_decode($_POST['p'], true);