【问题标题】:getting info from json with jquery使用 jquery 从 json 获取信息
【发布时间】:2012-07-14 11:57:45
【问题描述】:

无法使用 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? 我尝试将其添加到我的代码中,但无法正常工作。

我正在使用以下 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、标题、投票、描述、所有者

我认为这一切都有效,但我不能确定,因为我不知道 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 />");
    } 
  } 
});

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

【问题讨论】:

    标签: php ajax json jquery


    【解决方案1】:

    您的代码很好,只是回调函数中缺少关闭 )

    此外,在 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 />");
            }
        });
    });
    

    【讨论】:

    • 如果某些东西在 JS 中没有按预期工作,请务必检查控制台 - 它会告诉您有这样的语法错误以及错误(可能)发生在哪里。我已经编辑了我的帖子,以包含您的代码的清理、更正版本。另请注意,通过将各种 JSON 属性提交给局部变量,您并没有真正节省任何费用。但是,如果您这样做,请考虑使用多变量模式(Google 搜索),而不是每次都指定 var
    • 我之前没有做过任何 JS 或 jquery,所以我想看看如何调试它以防止将来发生这种情况。我明白将 JSON 属性保存到变量的意思,我可以只使用 JSON 变量本身。它不是我的代码,所以一旦它工作并取出那些冗余位,我可能会更仔细地查看它。感谢您的帮助
    猜你喜欢
    • 2012-01-18
    • 2023-03-22
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    相关资源
    最近更新 更多