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

158
Vistas
jQuery ajax solicita repeticiones cuando ocurre un error

He leído varias publicaciones relacionadas con este tipo de problema, pero todavía no identifico el problema aquí.

Cuando se llama a la siguiente función y recibe una respuesta 200, todo está bien; cuando se encuentra con el 404 se repite el ajax; agregar un tiempo de espera solo limita el período de tiempo durante el cual se realizan las solicitudes de repetición. Tiene que haber una razón simple para esto, pero me está eludiendo...

 function myFunction(ID) { var url = 'http://example.org/' + ID; var response; $.ajax(url, { success: function (responseText) { if (responseText !== undefined) { response = responseText; } }, error: function (xhr, ajaxOptions, errorMsg) { if (xhr.status == 404) { console.log('404: ' + errorMsg); } else if (xhr.status == 401) { console.log('401: ' + errorMsg); } } }); return response; }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar el enfoque dado a continuación para obtener los datos de su error sin repetición en AJAX.

 $.ajax(url, { success: function (responseText) { if (responseText !== undefined) { response = responseText; } }, error: function (xhr) { //the status is in xhr.status; //the message if any is in xhr.statusText; } });

ACTUALIZAR

No puede devolver la respuesta porque tiene una solicitud asíncrona y la variable de respuesta se devolverá antes de que las solicitudes ajax reales den una respuesta. Por lo tanto, le sugiero que use una función de devolución de llamada en caso de éxito o use una solicitud síncrona.

Entonces, para obtener la respuesta, puede tener una función como esta:

 function getResponse() { return $.ajax({ type: "GET", url: your_url, async: false }).responseText; }

O el enfoque de devolución de llamada es:

 $.ajax(url, { success: function (responseText) { if (responseText !== undefined) { theCallbackFunction(responseText); } }, error: function (xhr) { //the status is in xhr.status; //the message if any is in xhr.statusText; } }); function theCallbackFunction(data) { //do processing with the ajax response }
about 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