Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

121
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!