XMLHttpRequest () & net :: ERR_NAME_NOT_RESOLVED
Я пишу приложение javascript, которое делает HTTP-запрос удаленного сервера. Пользователь введет имя хоста.
Я хочу предложить диагностическое сообщение, если они вводят имя DNS, которое не может быть разрешено. Вот текущий код:
var req, t, url;
url = 'http://definitelydoesntexist0x314159.com';
req = new XMLHttpRequest();
req.open('GET', url, true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
t = req.statusText;
}
};
req.send();
В функции onreadystatechange req имеет статус = 0, ответ - «», поэтому нет особых указаний на то, что пошло не так. Тем не менее, консоль показывает «Не удалось загрузить ресурс: net :: ERR_NAME_NOT_RESOLVED», поэтому браузер (Chrome) смог выяснить, что произошло.
Как я могу получить указание ERR_NAME_NOT_RESOLVED?
Обновить: Я вернулся к этому вопросу, используя стратегию, согласно которой любой ответ, который не является «тайм-аутом», означает, что имя разрешено, хост отвечает и т. Д.
Кажется, ответ на мой первоначальный вопрос таков: похоже, что сам браузер (в данном случае Chrome) обнаруживает сбой разрешения и отображает его в консоли, но API XMLHttpRequest недостаточно богат, чтобы указать причину. Таким образом, плохой программист Javascript застрял с таймаутом в качестве обходного пути.
Я также удалил заголовок CORS, так как один из правильно отмеченных комментариев не имел значения.