jQuery $ .load () отправляет GET-запрос несколько раз - PullRequest
0 голосов
/ 09 августа 2011

Есть некоторый код, который выглядит следующим образом:

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

Периодически, на производстве, запрос GET отправляется несколько раз.Я могу видеть это, используя анализатор пакетов.

Это не воспроизводится локально.

Здесь есть пара подобных вопросов, но они, кажется, не очень полезны.

Я хотел бы знать следующее:

  • Почему функция sendAGetRequest () вызывается несколько раз?
  • Какие вещи могут вызвать этопроисходит только на производстве, а не локально?

Я подозреваю, что проблема в $(window).load, и я собираюсь изменить это на $(document).ready.Это хороший звонок?Как я уже сказал, я не могу воспроизвести проблему локально, и я не хотел бы загружать что-то, чтобы жить, не зная, может ли это на самом деле исправить вещи или нет.

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Я бы предположил, что событие, когда функция load(), которая присоединяет обработчик события, вызывается несколько раз. Каждый раз, когда вы вызываете load(), подключается другой обработчик функций, и все эти обработчики будут вызываться при срабатывании события load.

Использование document.ready - хороший вызов, но он не поможет вам, если вышеприведенное верно.

0 голосов
/ 09 августа 2011

$ (окно) .load будет запускаться только тогда, когда страница полностью загружена, включая изображения. Пока $ (document) .ready будет сработать, когда весь DOM будет готов. Это гораздо лучший момент для запуска такого запроса, так как вам не нужно ждать загрузки всех ресурсов. я не уверен, почему функция вызывается несколько раз, хотя в теории это не должно быть.

...