0

我在使用 JS 多维数组和 ajax 时遇到问题,我尝试了很多方法并决定将数组连接到然后,在 php 上进行爆炸并获取数组。

我决定,如果像这样发送“公园”数组:

    $.post( VIEW+THEME+"ajax/insertPark.php", {
            p:Base64.encode(park),
    }

我没有在 PHP 上得到数组。

加入不能正常工作,我不知道是不是因为我的数组看起来不像:[水果,食物,肉类]...

并在 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... 并且函数必须适应这一点。

谢谢指教!

4

2 回答 2

3

从您的数组中生成 json 并将其字符串化 -在 jQuery 中序列化为 JSON

在 PHP 中使用 json_decode 函数

于 2012-11-26T09:59:41.647 回答
1

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

JS:

var parkString = JSON.stringify(park);
$.post( VIEW+THEME+"ajax/insertPark.php", {
        p: parkString,
}

PHP:

$park = json_decode($_POST['p'], true);
于 2012-11-26T10:00:09.663 回答