sistema respuestas preguntas online hacer gratis encuestas encuesta dinamicas jquery

jquery - respuestas - sistema de encuestas laravel



¿Cómo detectar el error JQuery $.get? Buscando ejemplo de código simple (3)

A partir de jQuery 3.0, .success() y .error() se deprecian.
Puedes usar .done() y .fail() 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/

Soy un JQuery n00b. Estoy tratando de codificar un código muy simple usando $ .get (). La http://api.jquery.com/jQuery.get/ dice.

If a request with jQuery.get() returns an error code, it will fail silently unless the script has also called the global .ajaxError() method or. As of jQuery 1.5, the .error() method of the jqXHR object returned by jQuery.get() is also available for error handling.

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, como se trata de una llamada asíncrona, puedo imaginar que podría tener varios 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 ()?

¿Alguien puede por favor mostrar un ejemplo de código extremadamente simple? Quizás la rutina de éxito llame a Alert ("Página encontrada") y la rutina de falla comprueba 404 y hace una Alerta ("Página no encontrada")

Actualización: la siguiente página es extremadamente útil ... http://api.jquery.com/jQuery.get/


.get() es solo un sinónimo de .ajax() con una serie de opciones preestablecidas. Utilice 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 ); } } );


Tienes razón en que puedes usar el nuevo jqXHR de jQuery 1.5 para asignar controladores de errores a las $.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 manejadores directamente a la llamada:

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

Prefiero que el primero mantenga el código menos enredado, pero ambos son equivalentes.