如何在AJAX中迭代一组数据库结果

时间:2013-06-03 18:17:35

标签: mysql ajax loops

使用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)的

结果;

的console.log(信息)

[{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"}]

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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);