Скрытый / невидимый запрос Ajax? - PullRequest
3 голосов
/ 15 ноября 2011

Можно ли написать и создать JavaScript-запрос Ajax, который не может быть перехвачен плагином Firebug в Firefox?

Я спрашиваю об этом, потому что вижу в Facebook, что Ajax-запрос не выполняется, но все же, когда я отправляю сообщение из другой учетной записи, в окне сообщения вверху будет добавлен индикатор «1 непрочитанное сообщение» ... Как это вообще возможно?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 15 ноября 2011

Firebug регистрирует «стандартные» AJAX-запросы к панели консоли;это запросы, инициированные с использованием ActiveX / XHR.

Однако выполняются и другие типы запросов - загрузка CSS, изображения, javascript и т. д. Эти запросы регистрируются в сетевой панели Firebug.Также обратите внимание, что запросы, зарегистрированные в консоли , а также , отображаются в сети.

JSONP - это междоменный метод AJAX, в котором на страницу добавляется тег <script>.Когда запрос завершается, загруженное содержимое тега сценария анализируется как JSON.Причина, по которой это работает, заключается в том, что вы «обманываете» свой браузер, чтобы рассматривать запрос как запрос ресурса Javascript, а не как запрос AJAX, тем самым обходя ограничения безопасности между браузерами.

Собирая все это вместе, JSONPзапросы (как и все другие типы запросов, перечисленные здесь здесь , а также все запросы <iframe>) регистрируются на панели «Сеть», а не на панели «Консоль».Это не ошибка или проблема;Понимая, как работает JSONP, логично, что запрос будет появляться только в сети.

0 голосов
/ 15 ноября 2011

При использовании jsonp в качестве типа данных ваши звонки не отображаются в Firebug.

...