我花了很长时间试图找出为什么jQuery中的.load对我来说真的很奇怪。我不知道是什么原因导致它有时无法正常工作。
我正在构建一个用户无需重新加载的用户界面,相反,只要他们点击<a>
链接,它就会调用一个JS功能,将网址内容加载到&#34; contentLoad&#34;格。
我自己学习编码和jQuery&amp; JS让我很困惑,所以我尽量保持简单。
情况:我使用的是一个简单的JS函数,它接受一个URL(来自本地FTP服务器),检查URL是否有任何参数(example.php?abc = ...),insert&#34;?included = 1&#34; URL后面(防止它被打开,除非被这个函数调用)并使用.load将文件的内容放入一个空DIV(并使用.load来显示加载页面)。
问题是,它运行得很好,但每两分钟左右,它就会卡在我的加载屏幕上,我必须再次运行该功能或重新加载整个功能。我不知道出了什么问题。
功能:
var loadPage = function(url) {
$("#contentLoad").load("loading.php");
if(url.indexOf("?")>=0){
$("#contentLoad").load(url + "&included=1");
}
else {
$("#contentLoad").load(url + "?included=1");
}
window.history.replaceState('Object', 'Title', url);
}
然后,当我想要一个<a>
打开页面&#34; explore.php&#34;,例如,我使用
<li><a href="#" onclick="loadPage('explore.php')">Explore</a></li>
。
我可以做错什么?
答案 0 :(得分:3)
好吧,我真的不知道这是如何工作的,但我想这两个.loads有点“互相阻挡”,因为现在我删除了加载页面的.load,它有效......哇,哈哈。
所以我的解决方案就是取代
$("#contentLoad").load("loading.php");
带
document.getElementById("contentLoad").innerHTML = 'loading...';
感谢你们的帮助! :)