我花了很长时间试图弄清楚为什么jQuery中的.load对我来说非常奇怪。我不知道是什么原因导致它有时无法正常工作。
我正在构建一个用户界面,用户不必重新加载,而是每当他们单击<a>
链接时,它就会调用一个JS函数,将url的内容加载到"contentLoad"分区中。
我正在学习自己和jQuery&JS让我很困惑,所以我尽量保持它的简单。
情况:我使用的是一个简单的JS函数,它获取一个URL(来自本地FTP服务器),检查URL是否有任何参数(例如.php?abc=…),在URL后面插入"?included=1"(以防止它被打开,除非该函数调用),并使用.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);
}
然后,当我想要一个打开页面"explore.php"的<a>
时,例如,我使用
<li><a href="#" onclick="loadPage('explore.php')">Explore</a></li>
。
我做错了什么?
好吧,我真的不知道这是怎么回事,但我认为这两个.loads有点"互相屏蔽",因为现在我删除了加载页面的.loads,它就工作了。。。哇,哈哈。
所以我的解决方案只是更换
$("#contentLoad").load("loading.php");
带有
document.getElementById("contentLoad").innerHTML = 'loading...';
不过,感谢你们的帮助!:)