Похоже, что когда вы создаете XMLHttpRequest из script в браузере, если браузер настроен на работу в автономном режиме или если сетевой кабель вынут, запрос завершается с ошибкой и со статусом = 0. 0 не указан среди допустимых кодов состояния HTTP.
Что означает код состояния 0? Означает ли это то же самое во всех браузерах и для всех утилит HTTP-клиента? Является ли он частью спецификации HTTP или является частью какой-либо другой спецификации протокола? Это означает, что HTTP-запрос не может быть выполнен вообще, возможно, потому, что адрес сервера не может быть разрешен.
Какое сообщение об ошибке подходит для показа пользователя? "Либо вы не подключены к Интернету, либо на веб-сайте возникают проблемы, либо может быть ошибка ввода в адресе"?
Я должен добавить к этому, что я вижу поведение в FireFox, когда установлено значение "Работа в автономном режиме", но не в Microsoft Internet Explorer при установке "Работа в автономном режиме". В IE пользователь получает диалоговое окно, предоставляющее возможность выхода в Интернет. FireFox не уведомляет пользователя перед возвратом ошибки.
Я прошу об этом в ответ на запрос "показать лучшее сообщение об ошибке". Что делает Internet Explorer, это хорошо. Он сообщает пользователю, что вызывает проблему, и дает им возможность исправить это. Чтобы дать эквивалентный UX с FireFox, мне нужно вывести причину проблемы и сообщить пользователю. Итак, что вообще можно сделать из Status 0? Имеет ли он универсальный смысл или ничего мне не говорит?