1

PHP で配列を返し、それを JavaScript で使用する必要があります。戻り値を出力すると、空の文字列が出力されます。どのように間違えますか?

$.ajax({
     type: "POST",
     url: "sort2.php",    
     success: function(result){      

     alert(result[0]);                                            

    }
});

//sort2.php

$data[0] = "book";
$data[1] = "pen";
$data[2] = "school";
echo json_encode($data);
4

4 に答える 4

3

リクエストの を にdataType変更して、jQuery に JSON オブジェクトを文字列から自動的にデコードさせることができます。$.ajax()json

または、PHP に追加することもできheader('Content-Type: application/json')ます。jQuery は JSON 文字列も自動的にデコードする必要があります。

于 2012-04-09T07:07:26.367 に答える
1

jQueryによる$.postメソッドを使用することもできます。これは次のようになります:(したがって、phpスクリプトを変更する必要はありません。jQueryPostを参照してください

$.post(
    'sort2.php', //script you request
    {}, //post-data you want to send
    function(result) {
        alert(result[0]); /*i like more: console.log(result); this way you can see it in firebug e.g.) */
    },
    'json' //data-type you expect
);
于 2012-04-09T07:46:42.020 に答える
1

sort2.phpファイルで、次のコードを変更します。

echo json_encode($data);

header('Content-Type: application/json');
echo json_encode($data);

これが行うことは、応答を JSON データとして扱い、それに応じて解析するようにクライアント ブラウザに指示することです。HTML はデフォルトです。

また、sort2.phpファイルが ajax 呼び出しを行っている場所からの html ファイルと同じフォルダーにあることを確認してください。

お役に立てれば。

于 2012-04-09T07:40:12.887 に答える
1

JSONデータを解析する必要があります

$.ajax({
     type: "POST",
     url: "sort2.php",    
     success: function(result){      

     //Parse Json to Array 
     result = jQuery.parseJSON(result);
     alert(result) // would output the result array                                      

    }
});
于 2012-04-09T07:09:28.860 に答える