Бесконечный скроллер отправлял 20-30 запросов за раз - PullRequest
0 голосов
/ 20 апреля 2020

Я сделал бесконечный скроллер. вот код:

<script type="text/javascript">

function next_page(url_no){
    $.ajax({
        type : 'GET',
        url : 'http://' + document.domain + ':' + location.port + '/bc-m-home?page=' + String(url_no) /* http://127.0.0.1:5000/bc-m-home?page=2 */
    })
    .done(function(data) {
        $('#new_post').append(data);
    })
    event.preventDefault();
}

window.onscroll = function(ev) {
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight-1000) {
        if ( Number("{{last_page}}") > Number(document.getElementById("url_no").innerHTML) ){   /* {{last_page}} contain the last page number and "document.getElementById("url_no").innerHTML" contain the next page number. In this time the next page number is 2 . */
            next_page(document.getElementById("url_no").innerHTML)
            document.getElementById("url_no").innerHTML = Number(document.getElementById("url_no").innerHTML) +1 /* here I increase the next page number */
            }

        }
    }

</script>

Но проблема в том, что когда я достигаю нижней части страницы, она вызывает функцию "next_page" 20-30 раз. по этой причине ajax отправляет много запросов одновременно.

но я хочу, когда запрос будет отправлен, пользователь получит какое-то сообщение. И когда пользователь снова достигнет дна, запрос снова будет отправлен. Не 20-30 запросов одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...