0

私は JS 多次元配列と ajax に問題があります。私は多くのことを試し、配列を結合してから、php で爆発させて配列を取得することにしました。

私は、「park」配列をそのように送信するかどうかを確認した後、次のように決定します。

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

PHPで配列を取得できません。

Join が正常に機能しません。配列が [fruit,food,meat]... のように見えないためかどうかはわかりません。

また、console.log テストでは、park.join によってそのパークが文字列 '~' になり、他のデータはありません。

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 に答える