1

オブジェクトのかなり単純なコンパイルを、jQuery の.ajax. PHP スクリプトの各オブジェクトから 1 つの値を抽出したいと考えています。JavaScriptは次のとおりです。

var obj = [{id:1, name:"val1"}, {id:2, name:"val2"},{id:3, name:"val3"}];

$.ajax({
            type: "GET",
            url: "call.php",
            contentType: "application/json",
            data: {type: "stream", q: JSON.stringify(obj)},
            success: function(response){
                        alert(response);
                     }
          });

call.php ファイルは次のように記述されます。

if($_GET['type']=='stream'){
    $obj = json_decode($_GET['q']);

    for($i=0;$obj[$i];$i++){
    echo $obj[$i]->{'name'}." ";
    }
}

ただし、これは 0 を返します。理由がわかりません。

次に、type:"POST"javascript と$_POSTphp で使用しようとしましたが、完全に失敗しました。

4

2 に答える 2

3
 data: {type: "stream", q: JSON.stringify(obj)},

この使用の代わりに

 data: {type: "stream", q: obj},
于 2012-06-04T18:33:10.567 に答える
0

dataType: 'json'ajaxオプションがありません。contentTypeオプションは、送信されるデータ専用です。

dataType を追加した後、これを試してください:

echo $_GET['q'];

送信した json 文字列を返すだけです。問題がないかコンソールでリクエストを確認する必要がない場合

于 2012-06-04T18:59:05.540 に答える