1

この問題に関する多くのスレッドを見つけましたが、残念ながら実行できませんでした。問題は、私が JQuery についてあまり知らないことです。

mysql データベースから複数のレコードを取得するために、JQuery を使用して Ajax 呼び出しを実行しようとしています。私は次の機能を持っています:

function updateWebpage () 
{
$.ajax({                                      
url: './sale/api.php',                  //the script to call to get data          
data: "",                  //you can insert url argumnets here to pass to  api.php
                                   //for example "id=5&parent=6"
  dataType: 'json',                //data format      
  success: function(rows)          //on recieve of reply
  {
        for (var i in rows)
        {
          var row = rows[i];          

          var username = row[0];
          var stateId = row[1];
          $('#output').append("<b>id: </b>"+username+"<b> stateId: </b>"+stateId)
                      .append("<hr />");
        } 
    } 
});

};

私の api.php は、次のような mysql クエリを実行しています。

$array = retrieveUsersInfo('%');                          //fetch result    
echo json_encode($array);

私の主な問題は、このような問題をデバッグする方法ですか? ajax は非同期で別のファイルを呼び出しているため、エラーを表示できません。私のFirefoxデバッガーから、 $.ajax 関数が入力されていることがわかりますが、成功していません。

前もって感謝します。

4

1 に答える 1

1

試すべきことがいくつかあります。

  1. ブラウザで(ajaxを介さずに)API URLを直接ヒットし、有効な応答が返されることを確認します。
  2. エラーを追加します:function(err){}をjqueryajax呼び出しに追加します。このメソッドは、サーバーから200応答以外の応答がある場合に呼び出されます。
  3. 私はFirefox/FirebugよりもChromeの開発者ツールを使用しています。クライアントとサーバー間のすべての通信を表示する[ネットワーク]タブがあります。そのタブにAPIへの呼び出しが表示されます。

手元にあるので、phpファイルでmime-typeがtext/jsonに設定されていることを確認する必要があると思います。

于 2013-02-12T20:22:41.357 に答える