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

137
Views
Anulando jQuery default ajaxError para un código de estado específico

Estoy tratando de implementar un controlador de errores HTTP predeterminado de jQuery para llamadas AJAX. Implementé el controlador de errores predeterminado para errores de aplicaciones genéricas de la siguiente manera:

 $(document).ajaxError(function(event, jqXHR, settings, thrownError) { switch (jqXHR.status) { case 403: console.log('Forbidden, go away!'); break; case 404: console.log('Resource not found :O'); break; case 422: console.log('Unprocessable entity.'); break; case 500: console.log('Someone have to pay for this!'); break; default: console.log('Anyone knows what is going on here?'); } });

Ahora, lo que me gustaría lograr es anular un código de estado específico dentro de una sola llamada AJAX. Como por ejemplo

 $.ajax({ ... error: function(jqXHR, textStatus, errorThrown) { if(jqXHR.status === 404){ console.log('The requested unicorn is actually missing'); } } })

En este momento, si implemento como se muestra arriba, se mostrarán ambos mensajes

 >The requested unicorn is actually missing >Resource not found :O

mientras solo intento obtener el mensaje The requested unicorn is actually missing .

Establecer global: false en la configuración de llamada AJAX única implica ignorar todas las funciones AJAX globales dentro de esa llamada AJAX y, lamentablemente, esa no es una solución viable para mi aplicación.

¿Alguna idea? ¡Gracias!

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

puedes hacer lo siguiente

 $.ajax({ handleErrors: [404], ... error: function(jqXHR, textStatus, errorThrown) { if(jqXHR.status === 404){ console.log('The requested unicorn is actually missing'); } } });

luego, en su controlador global, verifique si se maneja el error

 $(document).ajaxError(function(event, jqXHR, settings, thrownError) { if (settings.handleErrors && settings.handleErrors.indexOf(jqXHR.status) !== -1) { return; } switch (jqXHR.status) { case 403: console.log('Forbidden, go away!'); break; case 404: console.log('Resource not found :O'); break; case 422: console.log('Unprocessable entity.'); break; case 500: console.log('Someone have to pay for this!'); break; default: console.log('Anyone knows what is going on here?'); } });
about 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!