Подтвердить что ты не робот

Как определить статус HTTP из JavaScript

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

Это невозможно сделать, правильно?

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

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

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