jQuery ajax url请求/加载10次,滚动请求/加载10次以上

时间:2019-11-29 09:39:08

标签: jquery ajax

我正在发送140多个AJAX请求。问题是发出140个请求会冻结浏览器。

要解决此问题,我想发出10个请求,然后在页面上滚动请求10个。


    var url = "https://xxxxxxx.com/search?name=" + searchWord + "&xxxs=" + duck + "&format=application/json";
    jQuery.ajax({
      url: url,
      beforeSend: function() {
        jQuery('#image').show();
      },
      complete: function() {
        jQuery('#image').hide();
      },
      dataType: "text",
      success: function(data) {}
    });

我尝试了以下代码:

var currentPageNumber = 1;
    loadMore(currentPageNumber);
$(window).scroll(function() {

    if($(window).scrollTop() ==  $(document).height()- $(window).height())
    {

        loadMore(currentPageNumber);
        currentPageNumber +=1;
    }
  });
function loadMore(currentPage){
        $.ajax({})
}

2 个答案:

答案 0 :(得分:0)

假设您在Google中执行此操作

https://www.google.com/search?q=duck

您想要下一个https://www.google.com/search?q=duck&start=10像这样:

var currentPageNumber = 1;
loadMore(currentPageNumber);
$(window).scroll(function() {

    if ($(window).scrollTop() == $(document).height() - $(window).height()) {

        loadMore(currentPageNumber);
        currentPageNumber += 1;
    }
});

function loadMore(currentPage) {
    var start = currentPage * 10;
    $.ajax({
            url :'https://www.google.com/search', 
            data:{
                'search': 'duck',
                'start': start
                },
            }).done(function(response) {
                alert("Success !");
                console.log(response);
                }
            );   
}

答案 1 :(得分:-1)

我猜您在谈论加载数据而不是请求。 最好执行延迟加载,当我们转到页面末尾时,请显示一个按钮,指示“加载更多”,然后再次将其增加10。

相关问题