1

私は JS の初心者です... データベース サーバーへの JSON 呼び出しを行う JavaScript 関数を含む PHP ページを持っています。その JSON 関数は配列を返します。これを解析して何かを行う必要があります。コールバックの必要性は理解していますが (現在、未定義のエラーが発生しています)、実際の構文については混乱しています。誰でも少しのガイダンスを提供できますか?

PHPページのJSON関数は次のとおりです。

var GETDATA = function() 
  {
   $(document).ready(function()
   {
     $.getJSON('api.php', function(data) 
      {
     $.each(data, function(key, val) 
      {
        UpdateGraph(val.x, val.y, val.z);
      });
      });
   });
  };`

** UpdateGraph 関数は変数を受け取り、さらにいくつかのビジネス ロジックを実行します。

api.php ページはデータベースに接続し、レコードセットを取得して、それを JSON 配列に入れます。その最後の行は

echo json_encode($arr);

これの非対称フローと、データを受信したときにコールバック関数を起動する必要があることは理解しています...しかし、これを実現する方法がわかりません。どんなガイダンスでも大歓迎です。

4

2 に答える 2

1

まず第一に、JSONは言語ではなくフォーマットです。

あなたはすでにコールバックを持っています

$.getJSON('api.php', function(data) 

function(data) はコールバックであり、data は php から返されたデータです。その中にコードを追加するか、データで何をしたいかを追加する必要があります。

 $.each(data, function(key, val){
        UpdateGraph(val.x, val.y, val.z);
 });

$.eachはデータ配列を循環し、 UpdateGraph関数を呼び出します

于 2012-06-08T18:29:27.157 に答える
0

返された json オブジェクト (データ) には、「データ」内のネストされた各オブジェクトのキーと値の関係も必要です。簡単に言えば...jsonオブジェクトをキー/値を持つハッシュマップのように扱います

つまり、「データ」内にオブジェクトaとオブジェクトbの2つのオブジェクトがあるとします

 $.each(data.a, function(key, val){
        UpdateGraph(val.x, val.y, val.z);
 });


 $.each(data.b, function(key, val){
        UpdateGraph(val.x, val.y, val.z);
 });

有効です

于 2012-06-09T08:35:34.190 に答える