2012-05-11 24 views
0

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

コールバックを使用して個別の値を入力する場合は、split()またはexplode()を使用して個別の値を取得できます。これよりも良い方法がありますか?私がこれを使い続ければ、入力が/explodepatternと同じ文字を持っていると、それが乱雑になると思います。

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

あなたが私の問題を理解していないかどうか尋ねます。

ありがとうございました。

答えて

3

PHPページの出力をjSONとして返すことができます。あなたはeachメソッドでjsonの結果を繰り返し処理して項目を取得できます。これはサンプル

$.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); 
    });  
}); 

あなたのPHPページから、以下のようJSON結果を返すされていると仮定しsplit

行うよりもずっときれいな方法である

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

EDIT:使用での作業jSONLintは、あなたのJSONが有効かどうかを伝える素晴らしいWebベースのツールです。

PHP関数から値を返す
$.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 
    ); 

:アヤックス/ jqueryの$に.getサンプル使用

http://jsonlint.com/

+0

を私は 'JSON'とその慣れていないんだかもしれないが、私は、 'JSONで変数の値を変更/追加するにはどうすればよいですか?上のサンプルのように、 'ResultSet'には2つのオブジェクトがあります。どうすれば別の1を追加できますか? –

+0

@ChristianEricParan:そのJSONはPHPページから返されます。 PHPからjsonを作成するためのGoogle検索を行います。結果の各要素は単一のオブジェクトを表します。したがって、データベースレコードの数だけ追加できます。 – Shyju

0

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) 
} 
関連する問題