[英]Infinite Ajax jQuery bug where on window scroll it loads more (duplicates data) issue
我昨天問了這個問題,我有很好的答案,但它並沒有以最佳能力解決我的問題。
為了解釋這里發生的事情,我正在構建一個消息傳遞系統..但是! 當我加載它時,它會連續復制帖子,然后隨機停止。 我不完全確定為什么。 我已經嘗試了我所知道的一切,但它只是不起作用。
$(document).ready(function() {
var flag = 0;
$.ajax({
type: "GET",
url: "assets/js/ajax/messages.php",
data: {
'offset': 0,
'limit': 6,
'user_id': <?php echo $User->Id(); ?>
},
success: function(data) {
$('#messages').append(data);
flag += 3;
}
});
$(window).scroll(function() {
if ($(window).scrollTop() >= $(document).height() - $(window).height()) {
console.log('hi!'+ Date.now());
$.ajax({
type: "GET",
url: "assets/js/ajax/messages.php",
data: {
'offset': flag,
'limit': 3,
'user_id': <?php echo $User->Id(); ?>
},
success: function(data) {
$('#messages').append(data);
flag += 3;
}
});
}
});
});
使用 Socket.io 而不是 ajax。
但是如果你想使用這種方式,我建議附加並檢查最后一條消息的 id 。
然后查詢新消息而不是查詢所有內容以避免重復數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.