我的代码如下:问题是当我滚动到页面末尾时,它将多次加载数据。如果页面中有 10 个元素,并且我从“/api/get_more_application/10”加载数据,但是在加载完成之前,jquery 会在将 dom 添加到页面之前第二次将 ajax 发送到“/api/get_more_application/10”,所以也许解决方案应该是这样,在最后一个请求完成之前,你不能向 url 发送第二个请求,怎么做?谢谢
$(document).ready(function(){
var window_height = $(window).height();
var i = 1;
$(window).scroll(function () {
var page_height = $(document.body).height();
var scroll_top = $(window).scrollTop();
var delta = page_height-window_height-scroll_top;
if(delta<100){
random_number = Math.random();
dom_num = $(".item").size();
$.get("/api/get_more_application/"+dom_num+"?"+random_number,function(data,status){
var json_data = jQuery.parseJSON(data);
data_list_length = json_data.data_list.length;
if (data_list_length === 0){
$(".nodata").show();
}
$.each(json_data.data_list,function(){
var dict_data = {
"admin": admin,
"id": this.id,
"limit_save_number": this.limit_save_number,
"employeeid": this.employeeid,
"appname": this.appname,
"filetype": this.filetype,
"applicant_im": this.applicant_im,
"onlinestor_quota": this.onlinestor_quota,
"employee": this.employee,
"apply_content": this.apply_content
};
$.get("approveditem.html",function(html_data,status){
replaced_str = html_data.replace(/<<(\w+?)>>/g,function($0,$1){
var value = dict_data[$1];
return value;
});
$("#items_container").append(replaced_str);
})
});
});
auto_data_set();
};
});
});