Откуда в JavaScript поступает запрос?

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

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

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

Это должно быть отмечено тегом jQuery.

Mr. Muskrat 12.10.2008 00:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
437
5

Ответы 5

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

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

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

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

Я пробовал это. Это классная надстройка, но она не сообщает мне, откуда в JavaScript поступает запрос.

Simon Munro 10.10.2008 14:13

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

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

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

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

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

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

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

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

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

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

Другие вопросы по теме