0

PHPファイルから配列内の要素にアクセスするのが難しいと感じています。配列は ajax 呼び出しを介して渡されます。以下の ajax 呼び出しを見つけてください。

var data = ['test1', 'test2', 'test3'];
$(document).ready(function () {
    $("button").click(function () {
        $.ajax({
            type: "POST",
            url: "getResult.php",
            data: {
                testData: data
            },
            success: function (data, status) {
                alert("Data: " + data + "\nStatus: " + status);
            }
        });
        return false;
    });
});

サーバー側[PHP]のコードは

$myArray = $_POST["testData"];
echo $myArray; 

ただし、$myArray は常に配列の最後の要素 [test3 here] を返します。最初の [ここでは test1] と他の要素にアクセスするにはどうすればよいですか? 助けてください。

4

4 に答える 4

0

単純な構造の場合、jQuery Paramを使用できます

data : $.param({testData:data})

これにより、データにアクセスできるはずです

echo $_POST["testData"][0]...[2];
于 2013-02-14T18:36:07.123 に答える
0

必要なことは、JavaScript 配列を JSON に変換してから、その JSON を送信することです。PHP 側では、JSON をデコードして配列に戻す必要があります。最後に、配列を返す前に JSON として再エンコードする必要があります。

クライアント側で 1 行を変更します。

data: {testData : JSON.stringify(data)},

サーバー側で次のようにします。

$myArray = json_decode($_POST["testData"]);
header('Content-Type: application/json');
echo json_encode(array('pheeds' => $pheeds, 'res' => $res));
于 2013-02-14T18:31:10.380 に答える
0

JS 変数を ajax で渡すときにこれを試してください。

Firebug を使用して、何が PHP ファイルに追加されているかをコンソールで確認できます。これにより、多くの問題を解決できます。

配列が OBJECT であることがわかります。したがって、この配列を JSON / STRING として PHP ファイルに送信します。

使用する :

 var data = ['test1','test2','test3'];
 data = JSON.stringfy(data);

PHPで:

     $data = var_post('test_data');
     $data=json_decode($data);
     $print_r($data);
于 2013-02-14T22:43:23.993 に答える