возможно, сейчас слишком поздно для меня, чтобы увидеть здесь четкое решение, но я решил узнать мнение любого, кто имеет свое мнение...
на сайте, над которым я работаю, есть длинный список постов пользователя. у меня все обработчики событий прокрутки работают на ajax в следующей партии из 100 постов, когда вы достигаете или приближаетесь к нижней части.
мой вопрос в том... Как я могу предотвратить следующий сценарий?
Ниже я приведу урезанную версию моего кода, если это поможет кому-то еще
$.ajax({
type:'POST',
url:"/userposts.php",
data:{ limit: postCount },
success:function(data) {
$("postsContainer").append(data);
if ( $("postsContainer").find("div[id='lastPostReached']") ) {
// unbind infinite scrolling event handlers
}
},
dataType:'html'
});
В моем PHP скрипте у меня есть следующее:
if ( ! isset($_POST["limit"]) ) {
$sql .= " LIMIT 101"; // initial request
} else {
$sql .= " LIMIT {$_POST["limit"]},101
}
$posts = mysql_query($sql);
while( $post = mysql_fetch_assoc($posts) ) {
/* output formatted posts */
}
// inform callback handler to disable infinite scrolling
if ( mysql_num_rows($posts) < 101 ) {
echo '<div id="lastPostReached"></div>';
}
Это дает мне бесконечную прокрутку, но как я могу предотвратить гипотетические дубликаты, которые появятся, когда новые записи будут добавлены в таблицу между ajax запросами?