Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
Captura de errores entre dominios de XMLHttpRequest

¿Hay alguna forma de detectar un error causado por Access-Control-Allow-Origin al realizar una solicitud? Estoy usando jQuery, y el controlador establecido en .ajaxError() nunca recibe una llamada porque, para empezar, nunca se realiza la solicitud.

¿Hay algún trabajo alrededor?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para las solicitudes de CORS, el controlador onError de XmlHttpRequest debería activarse. Si tiene acceso al objeto XmlHttpRequest sin procesar, 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();

Tenga en cuenta algunas cosas:

  • En las solicitudes de CORS, el archivo 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: ¿Es posible detectar errores de CORS? ).

  • El xhr.status y el xhr.statusText no están configurados 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ó.

over 4 years ago · Santiago Trujillo Denunciar

0

Es posible obtener un estado de error así:

 xhr.onerror = function(e) { alert("Error Status: " + e.target.status); };

Fuente: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

over 4 years ago · Santiago Trujillo Denunciar

0

Establezca un controlador para onerror y podrá detectar las excepciones entre dominios. No sé por qué se activa el evento onerror para las excepciones y no el evento de error , pero lo probé y funcionó.

 req = $.get('http://www.example.com'); req.onerror = function() { alert('An exception occurred.') };
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda