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

340
Vistas
¿Cómo detectar jQuery $.get falla?

Soy un principiante de jQuery. Estoy tratando de codificar de manera muy simple usando $.get(). La documentación oficial dice:

Si una solicitud con jQuery.get() devuelve un código de error, fallará silenciosamente a menos que el script también haya llamado al método global .ajaxError() o.

A partir de jQuery 1.5, el método .error() del objeto jqXHR devuelto por jQuery.get() también está disponible para el manejo de errores.

Entonces, si todo va bien, se llamará a mi función de devolución de llamada para el éxito. Sin embargo, si la solicitud falla, me gustaría obtener el código HTTP: 404, 502, etc. y formular un mensaje de error significativo para el usuario.

Sin embargo, dado que esta es una llamada asincrónica, puedo imaginar que podría tener varias pendientes. ¿Cómo sabría .ajaxError() a qué solicitud corresponde? ¿Tal vez sería mejor usar el método .error() del objeto jqXHR devuelto por jQuery.get()?

Estoy buscando un ejemplo de código extremadamente simple. Tal vez la rutina de éxito llame a Alert("Página encontrada") y la rutina de falla busque 404 y haga una Alerta ("Página no encontrada").

Actualizar

La siguiente página es extremadamente útil: http://api.jquery.com/jQuery.get/

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

0

Tiene razón en que puede usar el nuevo jqXHR de jQuery 1.5 para asignar controladores de errores a $.get() . Así es como puedes hacerlo:

 var request = $.get('/path/to/resource.ext'); request.success(function(result) { console.log(result); }); request.error(function(jqXHR, textStatus, errorThrown) { if (textStatus == 'timeout') console.log('The server is not responding'); if (textStatus == 'error') console.log(errorThrown); // Etc });

También puede encadenar controladores directamente a la llamada:

 $.get('/path/to/resource.ext') .success(function(result) { }) .error(function(jqXHR, textStatus, errorThrown) { });

Prefiero el primero para mantener el código menos enredado, pero ambos son equivalentes.

over 4 years ago · Santiago Trujillo Denunciar

0

A partir de jQuery 3.0 .success() y .error() están en desuso.
Puede usar .done() y .fail() en su lugar

 $.get( url ) .done(function( data, textStatus, jqXHR ) { console.log(data); }) .fail(function( jqXHR, textStatus, errorThrown ) { console.log(jqXHR); console.log(textStatus); console.log(errorThrown ); });

Fuente: https://api.jquery.com/jQuery.ajax/

over 4 years ago · Santiago Trujillo Denunciar

0

.get() es solo un sinónimo de .ajax() con una serie de opciones preestablecidas. Use ajax() para obtener la gama completa de opciones, incluida la devolución de llamada de error .

 $.ajax({ type: "GET", url: "test.htm", error: function(xhr, statusText) { alert("Error: "+statusText); }, success: function(msg){ alert( "Success: " + msg ); } } );
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