2009-11-25 1 views
3

Я делаю загрузку AJAX, которая перенаправляется. Я хотел бы узнать конечный целевой URL, на который был перенаправлен запрос. Я использую jQuery, но также имею доступ к базовому XMLHttpRequest. Кто-нибудь знает способ получить окончательный URL-адрес?Есть ли способ увидеть окончательный URL-адрес, полученный XMLHttpRequest?

Похоже, мне нужно, чтобы конечная цель вставляла свой URL-адрес в известное место в заголовках или корпусе ответа, а затем попросите сценарий найти его там. Я надеялся, что что-то будет работать независимо от цели.

Дополнительное примечание: Я спрашиваю, как мой код может получить полный URL-код из производственного кода, который будет запускаться из системы пользователя. Я не спрашиваю, как получить полный URL-адрес при отладке.

ответ

0

Самый простой способ сделать это - использовать Fiddler или Wireshark для проверки HTTP-трафика. Используйте Fiddler на клиенте, если ваш интерфейс использует браузер, иначе используйте Wireshark для захвата трафика на проводе.

0

Одно слово - Firebug, это плагин для Firefox. Никогда не делайте никаких разработок AJAX без него.

Активируйте Firebug и выберите Net, затем выполните запрос AJAX. Это покажет URL-адрес, который вызывается, весь запрос (заголовок и тело) и весь ответ (еще раз, заголовок и тело). Он также позволяет вам выполнить свой JavaScript и отладить его - точки останова, часы и т. Д.

0

Я запомню предложение Firebug. Вы увидите URL-адрес в качестве заголовка «Местоположение» в ответе http. Похоже, вы тоже хотите получить этот url в js? Если это так, вы можете получить его от объекта ответа xhr в обратном вызове (который вы также можете проверить с помощью FB!). :)

+0

Спасибо, что признали, что мне нужно делать это программно. Однако я не думаю, что заголовок местоположения будет работать. Заголовок местоположения - это заголовок для ответа на перенаправление, а не окончательный ответ. Коллекция заголовка XHR будет представлять собой окончательный ответ, а не заголовок местоположения. Нет никаких дополнительных заголовков HTTP, которые я вижу, которые имеют место. –

+0

Этот кофе не работает. Исправление: «будет представлять собой окончательный ответ, а не ответ перенаправления». –

+0

Хммм, я думаю, я не сталкивался с этим ... Когда ххр перенаправляется, разве это не порождает новый ххр? Думаю, вы говорите, что он использует существующие, и вы теряете исходные заголовки ответов? myReq.xmlhttp.getAllResponseHeaders()? Имеет ли tcpmon или fiddler 2 запроса? ура! –

 Смежные вопросы

  • Нет связанных вопросов^_^