0

有一些代码看起来像这样:

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

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

这在本地是不可复制的。

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

我想知道的是:

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

我怀疑问题是$(window).load并且正在考虑将其更改为$(document).ready. 这是个好电话吗?正如我所说,我无法在本地重现该问题,并且我不想在不知道它是否真的可以解决问题的情况下上传一些东西来生活。

4

2 回答 2

0

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

于 2011-08-09T15:08:16.647 回答
0

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

使用document.ready是一个很好的电话,但如果上述情况属实,它将无济于事。

于 2011-08-09T15:10:28.663 回答