这是一个奇怪的错误,因为它是第一个AJAX页面,而我创造它是一个错误我以前从来没有面对任何完整的重载......甚至互联网并不能帮助我 - 因为它似乎并不是一个常见的问题。JS似乎停留在DOM Ajax的重新加载页面
让我们对问题一步一步: 我在Ajax请求是由简单的函数引发的页面看起来像这样:
$("a[rel='tab']").live('click',function(e) {
pageurl = $(this).attr('href');
$.ajax({url:pageurl+'?rel=tab',success: function(data){
$('#content').html(data);
}});
if(pageurl!=window.location){
window.history.pushState({path:pageurl},'',pageurl);
}
e.preventDefault();
return false;
});
这是由PHP文件,如果解析属性设置设计不会被加载,而只是文件本身被加载 - 容易胡?
好吧,现在问题本身 - 很明显,页面随着时间变慢,但我并没有真正烦恼,因为我认为这是设计javascripts中的一些错误 - 但事实并非如此。
所以我看了看萤火,什么我见过解释了很多 - >的请求叠起来,每一个新的一页!当然,这会导致一个矫枉过正的...起初,我认为这只是“setInterval”的,并得到了一个解决方案,在每次重新加载时重置它们。
但是,这不是他们也似乎在“脚本”叠起来,因为我不认为这是一个普通的历史,只是重新加载脚本出现不止一次的唯一案例!
在右边的提示将是真正的帮助,因为我几乎被困在这儿了!
你在原始代码中用'setInterval'做了什么?你是否定期调用Ajax函数?通常你应该避免在Ajax中使用'setInterval',因为你永远不知道请求何时完成。改用'setTimeout'并在成功回调中调用它。这样,你只有一次超时运行。 –
如果设置了VAR来阻止它,直到成功这不是一个大问题 - >,例如VAR blockit =假的 - 成功blockit> =假的 - - >函数调用blockit =真有可以避开unneccesary调用和使用的setInterval没有任何问题:)。 –