XMLHttpRequest () e net :: ERR_NAME_NOT_RESOLVED

Estou escrevendo um aplicativo javascript que faz uma solicitação HTTP de um servidor remoto. O usuário digitará o nome do host.

Desejo oferecer uma mensagem de diagnóstico se eles digitarem um nome DNS que não possa ser resolvido. Aqui está o código atual:

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();

Na função onreadystatechange, o req tem status = 0, a resposta é "", portanto não há muita indicação do que deu errado. No entanto, o console mostra "Falha ao carregar o recurso: net :: ERR_NAME_NOT_RESOLVED" para que o navegador (Chrome) possa descobrir o que aconteceu.

Como posso obter uma indicação de ERR_NAME_NOT_RESOLVED?

Atualizar: Voltei a esta pergunta, usando a estratégia de que qualquer resposta que não seja 'timeout' significa que o nome foi resolvido, o host responde etc.

A resposta para minha pergunta original parece ser: Parece que o próprio navegador (Chrome, neste caso) detecta a falha na resolução e a exibe no console, mas a API XMLHttpRequest não é rica o suficiente para indicar a causa. Portanto, o pobre programador Javascript fica preso ao tempo limite como uma solução alternativa.

Também removi o cabeçalho do CORS, pois um dos comentaristas corretamente observado não tinha valor.

questionAnswers(2)

yourAnswerToTheQuestion