【发布时间】:2015-02-16 16:59:33
【问题描述】:
我花了很长时间试图弄清楚为什么 jQuery 中的 .load 对我来说真的很奇怪。我不知道是什么原因导致它有时无法正常工作。
我正在构建一个用户不必重新加载的 UI,但是,每当他们单击 <a> 链接时,它都会调用一个 JS 函数,将 url 的内容加载到“contentLoad”div 中。
我正在学习自己编码,而 jQuery 和 JS 让我很困惑,所以我尽量保持简单。
情况:我正在使用一个简单的 JS 函数,它接受一个 URL(来自本地 FTP 服务器),检查 URL 是否有任何参数(example.php?abc=...),在后面插入“?included=1” 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);
}
然后,例如,当我想要一个打开页面“explore.php”的<a>时,我使用
<li><a href="#" onclick="loadPage('explore.php')">Explore</a></li>.
我做错了什么?
【问题讨论】:
-
如果问题是暂时的,我的第一个呼叫端口将是查看网络/服务器端的事物。您可以扩展本地 FTP 服务器部分吗?这听起来很不典型..(题外话:我看到比你大两倍的人提出的问题要糟糕得多,继续努力!)
-
您是否尝试过使用 Firebug 之类的工具来查看是否在它似乎不起作用的时候发出了请求?
-
我只是有一个便宜的远程 FTP 服务器,而我试图 .load 的文件在同一个目录中,这就是我的意思。无论如何,我真的不知道这是如何工作的,但我想这两个 .loads 有点“相互阻挡”,因为现在我删除了加载页面的 .load ,它可以工作......哇,哈哈。所以我的解决方案只是替换 "$("#contentLoad").load("loading.php");"使用“document.getElementById("contentLoad").innerHTML = '正在加载...';”非常感谢你的赞美,不过:)
-
另外,对于 Hanky - 我查看了 Chrome 开发工具的网络部分。请求已发出,但没有回复!
标签: javascript php jquery ajax load