Javascript 相同ID的无限滚动重复

Javascript 相同ID的无限滚动重复,javascript,jquery,ajax,Javascript,Jquery,Ajax,下面是我的函数,我正在使用它根据

下面是我的函数,我正在使用它根据.post list加载数据,但我仍然得到了以前提取的相同id的重复。请告知我如何解决此问题,以便旧ID不会再次加载/重复

function loadData() 
{ 
    $('div.postloader').html('<img src="img/loader.gif">');
    $.post("getData.php?lastID=" + $(".post-list:last").attr("id"),     
    function(data){
        if (data != "") {
        $(".post-list:last").after(data);            
        }
        $('div.postloader').empty();
    });
}; 

函数loadData()
{ 
$('div.postloader').html(“”);
$.post(“getData.php?lastID=”+$(“.post-list:last”).attr(“id”),
功能(数据){
如果(数据!=“”){
$(“.post list:last”)。在(数据)之后;
}
$('div.postloader').empty();
});
}; 

防止这种情况的一种可能方法是将最后一个ID存储在JS中的全局变量中并递增,这样您就不必依靠选择正确的元素来查找要发布的ID。

如果从服务器提取数据的速度太快,请尝试添加一个标志,以防止在请求运行时提取项目:

var flagPulling = false;
function loadData() { 
    if( flagPulling ) {
        return;
    }
    flagPulling = true;
    $('div.postloader').html('<img src="http://www.zesteve.com/img/loader.gif">');
    $.post("/getData.php?lastID=" + $(".post-list:last").attr("id"), function(data){
        if (data != "") {
            $(".post-list:last").after(data);            
        }
       $('div.postloader').empty();
       flagPulling = false;
    });
}; 
var=false;
函数loadData(){
如果(拉旗子){
返回;
}
FlagPull=true;
$('div.postloader').html(“”);
$.post(“/getData.php?lastID=“+$(“.post-list:last”).attr(“id”),函数(数据){
如果(数据!=“”){
$(“.post list:last”)。在(数据)之后;
}
$('div.postloader').empty();
FlagPull=假;
});
}; 

您应该防止重复调用
$.post
,直到请求返回为止(因为它只是您的代码片段-我猜loadData被多次调用?)。快速观察一下,ids不能以数字开头
getData.php
可能有问题。一种可能的解决方案是将最后一个ID存储在一个全局javascript变量中,并递增该值,而不是从DOMhay中选择最后一个ID,您是否有解决此问题的方法?您能否给出一个快速的
代码示例