通过ajax传递动态值

时间:2013-01-12 07:03:50

标签: php jquery mysql ajax

我在jquery中有这个代码,这个代码以这样的方式编写,当我向下滚动鼠标时,下一组记录将从db中获取并显示。最初我的页面显示了25条记录,当我向下滚动下一条从db获取的15条记录时。我的问题是,无论何时调用滚动函数,我都无法设置计数器并递增计数器。而且当我向下滚动同样显示的15条记录时。 这是我的代码......

$(window).on('scroll',function(){
  if($(window).scrollTop()==($(document).height()-$(window).height())){

    $.ajax({
        type: 'POST',
        url: 'getdata.php',
        success: function(nxt_data){
           $('#data').append(nxt_data);
        }
    });
  } 
}); 

2 个答案:

答案 0 :(得分:2)

创建一个页面变量,然后在每次调用ajax时添加它。

var page = 1;
$(window).on('scroll', function () {
  if ($(window).scrollTop() == ($(document).height() - $(window).height())) {
    page++;

    $.ajax({
      type: 'POST',
      data: 'page=' + page,
      url: 'getdata.php',
      success: function (nxt_data) {
        $('#data').append(nxt_data);
      }
    });
  }
});

答案 1 :(得分:1)

您的问题似乎是因为getdata.php无法知道要返回的记录,因此它只返回相同的15行。

var counter=25;

$(window).on('scroll',function(){
  if($(window).scrollTop()==($(document).height()-$(window).height())){

    $.ajax({
        type: 'GET',
        url: 'getdata.php?start_row=' + counter,
        success: function(nxt_data){
           $('#data').append(nxt_data);
           counter += 15;
        }
    });
  } 
}); 

在PHP文件中,您可以使用$_GET['start_row'];

访问计数器变量