Откуда в JavaScript идет запрос? - PullRequest
1 голос
/ 09 октября 2008

Я отлаживаю большую, сложную веб-страницу, которая имеет много JavaScript, JQuery, Ajax и так далее. Где-то в этом коде я получаю запрос румян (я думаю, что это пустой img), который вызывает корень сервера. Я знаю, что этого нет в html или css, и я довольно уверен, что где-то в коде JavaScript выполняется запрос, но я не могу отследить его. Я привык использовать firebug, VS и другие средства отладки, но ищу какой-то способ выяснить, где это выполняется - чтобы найти строку обидчика среди примерно 150 файлов .js.

Помимо вывода на консоль gazzillion «вы сейчас здесь», есть ли у кого-нибудь предложения по инструменту отладки, который мог бы выделить, где в Javascript выполняются запросы к внешним ресурсам? Есть другие идеи?

Пошаговая отладка займет много времени - я должен быть осторожен с тем, что я делаю (источник jQuery - yuk!), И я могу пропустить решающий момент

Ответы [ 5 ]

2 голосов
/ 09 октября 2008

Как насчет использования пошагового отладчика сценариев в Firebug?

Я также думаю, что это может быть очень интересным улучшением Firebug, поскольку позволяет добавлять точки останова к вызовам AJAX.

1 голос
/ 12 октября 2008

Вы можете увидеть все запросы HTTP, выполненные через JavaScript, используя консоль Firebug .

Если вы хотите отслеживать все HTTP-запросы вручную, вы можете использовать этот код:

$(document).bind('beforeSend', function(event, request, ajaxOptions)
{
   // Will be called before every jQuery AJAX call
});

Для получения дополнительной информации см. документация jQuery о событиях AJAX .

1 голос
/ 09 октября 2008

Вы говорили об источнике jQuery ...

Предполагая, что запрос проходит через jQuery, поместите оператор отладки в функцию get () источника jQuery, которая активируется, если URL-адрес равен «/». Может быть, тогда вы сможете узнать из стека вызовов.

0 голосов
/ 14 октября 2008

Просто угадайте, но используете ли вы ThickBox? Он пытается загрузить изображение в самом начале кода.

Первое, что я хотел бы сделать, это проверить, является ли этот запрос румян запросом Ajax или запросом загрузки изображения через панель Net в Firebug.

Если это Ajax, то вы можете перегрузить функцию $ .ajax своей собственной, выполнить трассировку и включить запрошенный URL-адрес перед передачей в исходный $ .ajax.

Если это изображение, оно не идеально, но если вы можете ответить на запрос изображения с помощью спящего режима на стороне сервера (т.е. php-файл, который просто спит в течение 20 секунд), вы можете повесить приложение и получить начальное предположение где может быть проблема.

0 голосов
/ 09 октября 2008

Если это HTTPRequest, отправленный на веб-сервер, я бы рекомендовал использовать плагин TamperData на Firefox. Просто установите плагин, запустите данные несанкционированного доступа, и каждый отправленный запрос будет сначала запрашивать вмешательство / продолжение / прерывание.

Посетите эту страницу на сайте Mozilla

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...