Ajax con jQuery – básico
¿Cómo hacerlo?
Ejemplo 1
Cargamos la lista de departamentos a partir del país seleccionado (evento «change» del control).
- Antes de enviar la petición colocamos una imagen ‘loading’ con el texto alternativo «Cargando departamentos…» (esto último en caso que no se encuentre la imagen).
- Si el archivo a llamar no se encuentra mostramos una alerta con el texto «Ocurrio un problema al listar los departamentos del país seleccionado…».
- Finalizada la petición ajax asignamos la salida obtenida al elemento con el
id
«states-cnt» (si se encontrarón departamentos, serán desplegados, sino será mostrado el texto «No hay departamentos configurados para este país»; esto es realizado por el archivo «find_states_by_country.php», el cual fue definido en el parámetro «url» del objeto$.ajax
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <script type="text/javascript" src="jquery-1.6.4.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#countries').change(function(e){ var country_id = $(this).val(); if(country_id != ''){ var request_find_states = $.ajax({ type: 'GET', url: "find_states_by_country.php", data: {country_id: country_id}, beforeSend: function(xhr, settings){ $("#states-cnt").html("<img src="loading.gif" alt="Cargando departamentos..." />") }, success: function(response, xhr, status){ $("#states-cnt").html(response); }, error: function(xhr, status, exception){ alert("Ocurrio un problema al listar los departamentos del pais seleccionado..."); } }); } }); }); </script> |
Explicación
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <script type="text/javascript" src="ruta/al/archivo/jquery"></script> <script type="text/javascript"> $(document).ready(function(){ var request = $.ajax({ type: 'GET', // tambien puede ser POST url: "ruta/al/archivo/a/llamar/via/ajax", data: {parametro_1: valor_1, parametro_2: valor_2}, beforeSend: function(xhr, settings){ // acciones antes de realizar la petición vía ajax por ejemplo, // podemos colocar un texto "Cargando..." para indicar al usuario que // se esta esperando cierta respuesta y ocultar el botón que realiza // la peticion }, success: function(response, xhr, status){ // acciones a realizar una vez se haya realizado la petición // generalmente, procesar/mostrar la salida del archivo invocado }, error: function(xhr, status, exception){ // acciones a realizar en caso que no se encuentre el archivo a llamar } }); }); </script> |
¿Necesitas otro ejemplo?
Si necesitas otro ejemplo (uno más real), puedes dejar un comentario indicando tu solicitud, acerca de lo que quisieras que elaboraramos, y con gusto contestaremos tu solicitud.