0

使用 AJAX 遍历一组 MYSQL 数据的问题。我可以显示第一条记录,但总共有 7 条记录。我尝试了几种方法都没有成功。

AJAX 脚本:

<script type="text/javascript">       
      $(document).ready(function() { 
        $('#btn_get').on('click', function(e) { 
          $.ajax({
            type: 'GET',
            cache: false, 
            url: 'testData.php',
            dataType: 'json',
            success:function(info){  
              $('#getdiv').html("Page Viewed:" + info[0].page_ur + "<br />" + "Page count: " + info[0].page_count + "<br />");
                console.log(info);

                var len = info.length;
                for(var i=0; i<len; i++)
                {$('#getdiv2').html("<br />"+" Page Viewed:" + info[i].page_ur );}


             }           
          });
          e.preventDefault();
          });         
      });                  
    </script>

来自 console.log(info) 的结果;

控制台日志(信息)

[{page_ur:"test record page1", page_count:"1"}, {page_ur:"test record page2", page_count:"4"}, {page_ur:"test record page3", page_count:"3"}, {page_ur:"test record page5", page_count:"7"}, {page_ur:"test record page4", page_count:"9"}, {page_ur:"test record page6", page_count:"6"}, {page_ur:"test record page7", page_count:"2"}]
4

2 回答 2

0

在循环内部,您应该使用.append()而不是,.html()这样您就不会在每次迭代期间覆盖内容。

for(var i=0; i<len; i++) {
    $('#getdiv2').append("<br />"+" Page Viewed:" + info[i].page_ur );
}
于 2013-06-03T18:23:17.440 回答
0

您每次通过循环替换 #getdiv2 的内容。尝试将标记存储在变量中,并$('#getdiv2').html()在完成迭代后将其传递给info.

var len = info.length;
var markup = '';

for(var i=0; i<len; i++)
{
    markup += '<br/> Page Viewed:' + info[i]_page_ur;        
}
$('#getdiv2').html(markup);
于 2013-06-03T18:27:34.657 回答