我试图通过检查用户是否接近底部来使用 AJAX 和 JQuery 动态获取帖子。服务器端在 GAE 上的 python 中。
监听滚动:
this.config.window.on('scroll',this.loadContent);
1.检查与底部的距离
2.发送一个带有当前帖子数量的ajax请求,以便检索下10个
3.results.check = true 表示服务器没有更多帖子要发送。
loadContent: function(){
// 1
if($(document).height() - $(window).height() - $(window).scrollTop() < 1000) {
var posts = $('.troll').children('div').length;
data = 'loadmore=True&offset=' + posts; //2
$.ajax({
url: '/',
type: 'POST',
data: data,
dataType: 'json',
success: function(results){
if (results.check === 'true'){ //3
$(window).unbind('scroll');
return;
}
Post.insert10Values(results);
}
});
};
},
insert10Values: function(results){
var update = Handlebars.compile($('#troll10').html()),
troll10update = update(results);
$('div.troll').append( troll10update );
}
这里的问题是,当快速滚动时,两个或多个请求被发送到服务器并且我得到重复的条目。我想对客户端进行速率限制。