我想要ajax.stop函数仅工作一次-在第一个页面加载时,此后,我不需要此函数。为此,我尝试使用此代码。
if(init===false)
{
console.log('1) loadpage start');
load_page(<?php echo $page->id;?>);
//Wait till the page is recieved, than go on
$(document).ajaxStop(function() {
console.log('2) load page -> ajaxStopp init:'+init);
setup_elements();
});
init=true;
}
我想知道为什么以后再执行另一个ajaxcall时,ajaxstop函数将再次起作用。此时,我从控制台收到了"2)"
消息,相反,我看到变量“ Init”为true。
也许我了解ajax.stop
的工作方式是否错误?
答案 0 :(得分:0)
注册所有Ajax请求完成后要调用的处理程序。 documentation
所以您可能想做的是这样:
$(document).ajaxStop(function() {
if(init===false){
console.log('2) load page -> ajaxStopp init:'+init);
setup_elements();
init=true;
}
});
所以您只是放错了if
条件。
现在ajaxStop()
仍将在每次ajax请求完成时继续执行...但是除了页面加载外,什么也不做。