1

我发现了很多关于这个问题的线程,但不幸的是我无法让它运行。问题是我对 JQuery 了解不多。

我正在尝试使用 JQuery 进行 Ajax 调用,以便从 mysql 数据库中获取多条记录。我有以下功能:

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. 在您的 jquery ajax 调用中添加一个错误:function(err){}。如果服务器返回的响应不是 200 响应,则会调用此方法。
  3. 我使用 Chrome 的开发者工具多于 firefox/firebug。它有一个网络选项卡,向我显示客户端和服务器之间的所有通信。您应该在该选项卡中看到对您的 api 的调用。

就在手边,我认为您需要确保在您的 php 文件中将 mime-type 设置为 text/json。

于 2013-02-12T20:22:41.357 回答