jQuery $ .load()多次发送GET请求

时间:2011-08-09 14:58:27

标签: jquery ajax jquery-load

有些代码看起来像这样:

$(window).load(function(){
    sendAGetRequest();
}

定期生产时,GET请求会多次发送。我可以使用数据包嗅探器来看到这一点。

这在本地不可重复。

这里有几个类似的问题,但它们似乎没什么用处。

我想知道的是:

  • 为什么函数sendAGetRequest()被多次调用?
  • 什么样的事情可能导致这种情况只发生在生产而非本地?

我怀疑问题是$(window).load,我正在考虑将其更改为$(document).ready。这是一个很好的电话吗?正如我所说,我不能在本地重现这个问题,我不想上传一些东西而不知道它是否真的能解决问题。

2 个答案:

答案 0 :(得分:0)

$(window).load仅在页面完全加载(包括图片)时触发。当整个DOM准备就绪时,将触发$(document).ready。这是触发此类请求的更好的一点,因为您不必等待加载整个资源。我不确定为什么函数被多次调用,虽然理论上它不应该。

答案 1 :(得分:0)

我会想象附加事件处理程序的load()函数被多次调用的事件。每次调用load()时,都会附加另一个函数处理程序,并在load事件触发时调用所有这些处理程序。

使用document.ready是一个很好的电话,但如果上述情况属实,则无法帮助您。