Para solicitudes CORS, el controlador onError de XmlHttpRequest debe activarse. Si usted tiene acceso al objeto XmlHttpRequest cruda, intente configurar un controlador de eventos como:
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined"){
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var url = 'YOUR URL HERE';
var xhr = createCORSRequest('GET', url);
xhr.onerror = function() { alert('error'); };
xhr.onload = function() { alert('success'); };
xhr.send();
Nota: algunas cosas
En las solicitudes CORS, console.log del navegador mostrará un mensaje de error . Sin embargo, ese mensaje de error no está disponible para su código JavaScript (creo que esto se hace por razones de seguridad, hice esta pregunta una vez antes: Is it possible to trap CORS errors?).
xhr.status y xhr.statusText no están establecidos en el controlador onError, por lo que realmente no tiene ninguna información útil sobre por qué falló la solicitud CORS. Solo sabes que falló.
información posiblemente útil: [Detección de errores con XMLHttpRequest] (http://ajaxpatterns.org/XMLHttpRequest_Call #Detecting_Errors) – drudge