【问题标题】:jQuery .load working randomly, desperatejQuery .load 随机工作,绝望
【发布时间】: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


【解决方案1】:

好吧,我真的不知道它是如何工作的,但我想这两个 .load 有点“相互阻挡”,因为现在我删除了加载页面的 .load,它可以工作了......哇,哈哈。

所以我的解决方案只是替换

$("#contentLoad").load("loading.php");

document.getElementById("contentLoad").innerHTML = 'loading...';

感谢你们的帮助,不过! :)

【讨论】:

  • 只是想鼓励你继续编程。这是您对 SO 答案的第一次投票。你的代码很简单,简单是天才,你在 12 岁时做得很好。要走的路:)
  • 我想回应@Hanky웃Panky 所说的话,并解释一下我所理解的发生了什么。你是对的,这两个 .load() 调用很可能是冲突的。可能发生的情况是来自第一个 .load(到加载屏幕)的请求实际上完成了 对第二个 .load() 的调用。这是由于 Javascript 的一个非常重要的方面称为 "asynchronous programming" - 如果您想更深入地了解 Javascript,我强烈建议您阅读它:) 继续努力!
  • 非常感谢您的链接,我想这就是发生的事情!我会多研究一下。不过,非常感谢你们俩,还有动力:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-12
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 2013-01-14
  • 2016-02-16
  • 2016-01-04
相关资源
最近更新 更多