用jquery从json获取信息

时间:2012-07-15 09:07:15

标签: php ajax json jquery

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

  1. http://openenergymonitor.org/emon/node/107 这里的代码工作但只输出1项
  2. Simple Ajax Jquery script- How can I get information for each of the rows in the table? 我试着将它添加到我的代码中,但我无法让它工作。
  3. 我从包含以下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 />");
        } 
      } 
    });
    

    我原以为这会输出所有信息,但没有任何反应。

1 个答案:

答案 0 :(得分: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 />");
        }
    });
});