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, так как один из правильно отмеченных комментариев не имел значения.