0

次の配列を使用して jQuery .post() を作成しています。

'cleanedLinkStructureArray[]': cleanedLinkStructureArray,
'cleanedPermaLinkArray[]': cleanedPermaLinkArray

これらの配列内のデータ: cleanedPermaLinkArray は ["2012","10","30","hello-world"] のようになり、cleanedLinkStructureArray は次のようになります: ["year","monthnum","day","postname "]

Javascript コード:

var ajaxPost = $.post(
            enableAJAX.ajaxurl, 
            { action: 'ajaxRequest',
            'ajaxRequestNonce' : enableAJAX.ajaxRequestNonce,
            'cleanedLinkStructureArray[]': cleanedLinkStructureArray,
            'cleanedPermaLinkArray[]': cleanedPermaLinkArray },
            'json'
    );

    ajaxPost.done(function(responseText) { 
        alert(responseText);
        console.log(responseText);
    }); 

    ajaxPost.fail(function() { 
        alert("Oops, I'm afraid we've broken something");
    });

PHP で 2 つの配列を取得する方法がわかりません。PHP内の配列からのデータを使用しますか? できれば、それらを使用して新しい PHP 配列を作成します。この場合、cleanedLinkStructureArray 内の値が配列のキーになり、cleanedPermaLinkArray 内の値がその新しい配列の値になります。

これには何かあるに違いないと思いますが、ここで何をする必要があるかを教えてくれる、より経験豊富な人が必要です。

$_POST['cleanedPermaLinkArray[]']
$_POST['cleanedLinkStructureArray[]']; 

どんな助けでも大歓迎です。

敬具、

マルニクス

4

3 に答える 3

1

あなたの配列は

$_POST['cleanedPermaLinkArray']
$_POST['cleanedLinkStructureArray']; 

var_dump($_POST)データがどのように形成されているかを簡単に確認できます

于 2012-11-10T02:20:43.067 に答える
1

まず、$.post では、角括弧は必要ないため、これはパラメーターの 1 つです。

'cleanedLinkStructureArray': cleanedLinkStructureArray,

次に、PHP では、最初に次のようにキャッチする必要があります。

$cleanedLinkStructureArray = $_POST["cleanedLinkStructureArray"];

これで、以下を使用できます。

foreach ($cleanedLinkStructureArray as $item) {
    // Do something with $item
}

もう 1 つの方法は、すべてのパラメーターを $.post から php に渡すことで、パラメーターを json オブジェクトとして設定することです。

于 2012-11-10T02:23:45.880 に答える
0

これはすべてサーバーから JSON として送信されますよね? 値に対して使用するだけjson_decodeで、php 内でネイティブに配列に変換されます。

$cleanedPermaLinkArray = json_decode($_POST['cleanedPermaLinkArray[]']);
echo cleanedPermaLinkArray[0]; // some value..
于 2012-11-10T02:15:09.490 に答える