Как определить статус HTTP из JavaScript - PullRequest
16 голосов
/ 08 мая 2009

Я хочу определить в сценарии, который может быть развернут вне моего контроля, была ли страница доставлена ​​с HTTP-статусом 200, 404 или 500 и т. Д.

Этого нельзя сделать, верно?

Ответы [ 4 ]

8 голосов
/ 18 июня 2009

Попросите страницу сделать запрос XMLHttpRequest для себя (используя location.href или document.URL) и проверить полученный HTTP-статус. Кажется, это довольно портативный способ для меня. Почему ты так поступаешь, мне непонятно;)

1 голос
/ 08 мая 2009

Страница A может быть Javascript, который загружает страницу B через AJAX и отображает ее с document.write или во всплывающем окне или как.

В такой стратегии вы можете проверить код возврата на успех / неудачу в обработчике AJAX и отправить разные вещи в окно вывода в зависимости от состояния.

Большинство библиотек Ajax предоставляют способ проверки кода возврата ....

См., Например, "transport.status" с Ajax.Request в Prototype.js

0 голосов
/ 18 июня 2009

Я недавно нашел, как это сделать (кредитов: hunlock )

AJAX.getAllResponseHeaders () - возвращает в виде строки все текущие заголовки в использовании. AJAX.getResponseHeader ("headerLabel") - возвращает значение запрашиваемый заголовок

0 голосов
/ 08 мая 2009

Почему javascript должен знать это? Похоже, было бы разумнее просто вставить его на пользовательскую страницу 404. Нет необходимости определять HTTP-статус родительской страницы (я не думаю, что это возможно - возможно, делать ajax-вызов для себя после каждой загрузки, но это просто глупо). если код выполняется, он гарантированно будет 404

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