Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

250
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda