Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/02/2014, 00:20
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: explicar mas o menos como trabajar con ajax

Con el método Ajax de jQuery, puedes realizar peticiones asíncronas al servidor de la misma forma en la que lo harías implementando una función XHR con JS nativo. Aunque el método tiene varios atributos, basta con que utilices algunos para realizar un envío de datos a un archivo determinado y realizar algo con la respuesta obtenida de éste.

Con un pequeño ejemplo se puede entender mejor:

Archivo inicial
Código HTML:
Ver original
  1. Ingrese su nombre: <input type = "text" id = "nombre" />
  2. <button id = "buscar">Buscar</button>
  3.  
  4. <section id = "resultados"></section>

Archivo JavaScript
Código Javascript:
Ver original
  1. $("#buscar").click(function(){
  2.     $.ajax({
  3.         url: "buscar.php",
  4.         type: "GET",
  5.         dato: {nombre: $("#nombre").val()},
  6.     }).done(function(response){
  7.         $("#resultados").html(response);
  8.     }).fail(function(jqXHR, textStatus){
  9.         alert("Se ha producido un fallo: " + textStatus);
  10.     });
  11. });

Archivo buscar.php
Código PHP:
Ver original
  1. $nombre = $_GET["nombre"];
  2. $query = mysql_query("SELECT * FROM usuarios WHERE nombre LIKE '%$nombre%'");
  3. if (mysql_num_rows($query)){
  4.     echo "Nombres encontrados: <br />";
  5.     while ($row = mysql_fetch_array($query)){
  6.         echo $row["nombre"] . "<br />";
  7.     }
  8.     mysql_free_result($query);
  9. }
  10. else{
  11.     echo "No se encontraron coincidencias";
  12. }

En el archivo inicial, tengo una caja de texto de Id "nombre", un botón de Id "buscar" y una sección de Id "resultados", lo que hago en el archivo JavaScript es básicamente lo siguiente; cuando el usuario de un clic en el botón, se ejecuta el método Ajax, en el cual envío el valor contenido en la caja "nombre" hacia el archivo "buscar.php", eligiendo el método GET para el envío del dato (pude haber elegido POST). Cuando el envío y recepción de datos se haya completado y se haya recibido una respuesta del servidor (done), asignamos dicha respuesta como contenido de la sección "resultados", pero si se produce un fallo (fail), muestro un mensaje de alerta notificando al usuario del fallo sucedido.

Otra forma de realizar algo cuando ya se tiene una respuesta es a través del método success:

Código Javascript:
Ver original
  1. $("#buscar").click(function(){
  2.     $.ajax({
  3.         url: "buscar.php",
  4.         type: "GET",
  5.         dato: {nombre: $("#nombre").val()},
  6.         success: function(response){
  7.             $("#resultados").html(response);
  8.         },
  9.         error: function(jqXHR, textStatus){
  10.             alert("Se ha producido un fallo: " + textStatus);            
  11.         }
  12.     });
  13. });

Finalmente, en el archivo "buscar.php", recibimos el valor mediante el método GET que es el que señalamos en el atributo "type" del método Ajax y que es el método por defecto, realizamos una búsqueda en la BD con dicho dato, si encontramos coincidencias, las mostramos en una lista, caso contrario, se muestra un mensaje en el que se le indica al usuario que no se encontraron datos con el dato ingresado. Dicho resultado (la lista de datos o el mensaje de error), es la respuesta del servidor que mostraremos dentro de la sección "resultados" en el primer archivo.

Dale una leída al manual oficial para que aprendas más al respecto: http://api.jquery.com/jQuery.ajax/

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand