我正在发送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({})
}
答案 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。