Как выследить HTTP-запрос? - PullRequest
3 голосов
/ 25 февраля 2010

Попытка оптимизировать один веб-проект.

Он использует asp.net (веб-формы), кучу плагинов jquery и еще много чего.

Проблема: существует ненужный HTTP-запрос к localhost/undefined, и каждый запрос занимает на ~ 1 дольше, чем нужно.

Вопрос: есть ли какая-то тактика для поиска виновного кода?

Подсказка: undefined заставляет меня думать, что в этом замешан JS.

Журнал Firebug:

GET / неопределенный HTTP / 1.1
Хост: localhost: 17817
Пользователь-агент: Mozilla / 5.0 (Windows; U; Windows NT 6.1; lv; rv: 1.9.2) Gecko / 20100115
Firefox / 3,6
Принять: image / png, image / ; q = 0,8, / ; q = 0,5
Accept-Language: lv, en-us; q = 0,7, en; q = 0,3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-13, utf-8; q = 0,7,
; q = 0,7
Keep-Alive: 115
Подключение: keep-alive
Реферер: http://localhost:17817/Default.aspx


если вы щелкнете правой кнопкой мыши строку в коде, это даст вам условную точку останова. Проверьте имя переменной, которая имеет значение URL, и установите условие, когда typeof URL === 'undefined' или url === 'undefined', и посмотрите на стек

Просто установите breakproint в строке 3400 (без условий). Это не проходит там.

3397 ajax: функция (и) {
3398 // Расширить настройки, но еще раз расширить 's', чтобы оно могло быть
3399 // проверено позже (в тестовом наборе, в частности)
3400 s = jQuery.extend (true, s, jQuery.extend (true, {}, jQuery.ajaxSettings, s));


Немного сужена проблема => закомментирован 1 контроллер ascx, который отображает некоторые изображения и использует великолепный плагин jquery и магический запрос исчез.


Проблема была с инициализацией плагина galleriffic. Он не может найти привязку, и он нужен для создания миниатюр, когда не было изображений или чего-то еще. Круто сейчас ...

Ответы [ 2 ]

1 голос
/ 25 февраля 2010

Удалось ли вам определить, какой код JS инициирует запрос? Если вы используете Firebug, он должен дать вам строку кода в окне консоли, которая вызывает запрос AJAX. Если это что-то вроде $ .post () с строкой кода в библиотеке jQuery, вы можете перемещаться по стеку вызовов в плагине Firebug, чтобы попытаться выяснить, где вызывается первоначальный вызов JS.

0 голосов
/ 25 февраля 2010

Вы можете попробовать HTTP Watch .

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