0

无法使用 ajax 从数据库中检索信息。我从这里获取代码:

  1. http://openenergymonitor.org/emon/node/107 此处的代码有效,但只会输出一项
  2. 简单的 Ajax Jquery 脚本 - 如何获取表中每一行的信息? 我试图将它添加到我的代码中,但我无法让它工作。

我正在使用以下 php 从表中获取所有内容:

$result = mysql_query("SELECT * FROM voterecords");  

$data = array();
while ( $row = mysql_fetch_row($result) )
{
  $data[] = $row;
}
echo json_encode($data);

如果我导航到该 php 页面,它将输出以下内容:

[["68","1234","0","1234",""],["69","added with ajax","0","this item was added using ajax",""]]

上面的格式如下:id,title,votes,description,owner

我认为这一切都有效,但我不能确定,因为我不知道 JSON 应该是什么样子。


好的,现在这是 jquery,它应该从 JSON 中检索信息并将其放入 html 元素#output

$(function () 
  {

    $.ajax({                                      
      url: 'retrieve.php', data: "", dataType: 'json',  success: function(rows)
      {
        for (var i in rows)
        {
         var row = rows[i];          

          var id = row[0];              
          var name = row[1];
          var votes = row[2];  
          var info = row[3]; 

          $('#output').append("<b>id: </b>"+id+"<b> name: </b>"+name+"<b> votes: </b>"+votes+"<b> info: </b>"+info)
                      .append("<hr />");
    } 
  } 
});

我期待这会输出所有信息,但没有任何反应。

4

1 回答 1

0

您的代码很好,除了)回调函数缺少关闭。

此外,在 JavaScript 中,最好将左大括号放在同一行,而不是下一行,这在其他一些语言中很常见。

更正/清理代码:

$(function () {
    $.ajax({url: 'retrieve.php', dataType: 'json'}).done(function(rows) {
        for (var i in rows) {
            var row = rows[i];
            var id = row[0];
            var name = row[1];
            var votes = row[2];
            var info = row[3];
            $('#output')
                .append("<b>id: </b>"+id+"<b> name: </b>"+name+"<b> votes: </b>"+votes+"<b> info: </b>"+info)
                .append("<hr />");
        }
    });
});
于 2012-07-15T09:13:59.583 回答