2012-07-18 20 views
5

Estoy usando el complemento de autocompletar de jQuery UI para crear una barra de búsqueda rápida que rellenará una lista desplegable de elementos coincidentes.jQuery UI Autocompletar: detectar errores HTTP de la fuente

Todo funciona bien, pero me gustaría preparar mi plugin de búsqueda para manejar los errores de HTTP que provienen de la llamada ajax.

No he encontrado una manera de manejar esto. Leí la documentación: http://jqueryui.com/demos/autocomplete/ pero parece que no hay tal evento o devolución de llamada llamada 'error' que podría usarse para este escenario.

Deseo Me gustaría lograr es un cuadro de alerta que le dice al usuario que hubo un error en el lado del servidor.

¿Alguien me daría un ejemplo de esto?

Gracias!

Respuesta

11

Desde el http://jqueryui.com/demos/autocomplete/ puede usar la fuente como una función que toma dos parámetros, solicitud y respuesta. Así que una posible forma de manejar los errores http sería capturarlos usando una llamada jQuery ajax de la siguiente manera:

$("#autocomplete").autocomplete({ 
     minLength: 2, 
     source: function(request, response) { 
      $.ajax({ 
       url: "query.php", 
       data: { query: request.term}, 
       success: function(data){ 
        response(data); 
       }, 
       error: function(jqXHR, textStatus, errorThrown){ 
        alert("error handler!");       
       }, 
       dataType: 'json' 
      }); 
     } 
    });​ 
+0

Awesome! ¡Gracias! – papaiatis

+1

Puede que quiera agregar '$ (" # autocompletar "). RemoveClass (" ui-autocompletar-cargar ");' al controlador de errores para eliminar la ruleta. – Leonid

Cuestiones relacionadas