0

私はしばらくの間 ajax を使用しており、データの取得についてもっと学びたいと思っています。を使用して出力を取得する方法しか知りませんcallbacks

コールバックを使用し、個々の値が必要な場合は、split()orを使用しexplode()て個々の値を取得できます。これよりも良い方法はありますか?patternこれを使い続けると、入力がfor split/と同じ文字を持っていると面倒になると思いますexplode

echoまたはHTML出力ではなく、変数を介して個別にデータを取得する方法を知りたいです。

私の問題を理解していないか尋ねてください。

ありがとう。

4

2 に答える 2

3

PHP ページからの出力を として返すことができますjSON。メソッドを使用してjsonの結果を反復処理し、eachアイテムを取得できます。それは行うよりもはるかにクリーンな方法ですsplit

サンプル

$.getJSON("yourphppage.php", function(data){
   $.each(data.ResultSet.Results,function(i,item){
      console.log(data.ResultSet.Results[i].Name);
      console.log(data.ResultSet.Results[i].Age);
   });     
});

JSONPHPページから以下のような結果を返すと仮定します

{
    "ResultSet": {          
        "ErrorMessage": "No error",
        "Results": [
            {
                "Name": "John",
                "Age": "22"
            },
            {
                "Name": "John",
                "Age": "22"
            }
        ]
    }
}

編集: Use jSONLintを使用する場合、JSON が有効かどうかを通知する素晴らしい Web ベースのツールです。

http://jsonlint.com/

于 2012-05-11T15:13:14.510 に答える
0

Ajax/jquery $.get サンプルの使用:

$.get(
    path_to_your_script. "?run=process_ajax_callback",
    {
        var_ajax: 1, // var sample
        // more vars to your function
    },
    function(response, status) {
        // evaluate response var as a javascript object/array
    },
    'json' // we expect json formatted response
    );

PHP 関数から値を返す:

function process_ajax_callback()
{
    // ...

    $output['var'] = array(1, 2, 3); // var sample

    echo json_encode($output); // encode as json!!!

    exit; // very important (only output from this function)
}
于 2012-05-11T15:23:57.617 に答える