Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/12/2011, 11:35
miguelangelb
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Respuesta: Inquitudes sobre Jquery

Cita:
Iniciado por sander Ver Mensaje
a. Son completamente diferentes ya que .html() inserta en el DOM codigo formateado en html, mientras que .load() realiza una peticion ajax de un contenido de un archivo especifico y lo inserta en el elemento asociado en formato .html().
b. .html() usalo para insertar en el DOM codigo y que reconosca de forma correcta los tags de html, .load() usalo para pedir un archivo mediante ajax.
En primer lugar te agradezco la respuesta a mis inquietudes y en realidad la mayoría me han quedado bastante claras, sin embargo creo que el primer punto no lo expresé adecuadamente en mi pregunta y mis dudas sobre el uso de los métodos .html() y .load() siguen aún vigentes por lo que voy a intentar ser más gráfico a ver si se entiende la razón de mi cuestionamiento:

El caso es que haciendo un ejercicio, en la práctica ambos métodos me han operado aparentemente de forma correcta pero sigo sin resolver cual de las dos vías es la más adecuada.

El propósito que deseo obtener es que desde un archivo inicial (inicio.html), mediante un formulario, el usuario seleccione las fechas de inicio y final de una consulta de registros y al pulsar el botón enviar, mediante ajax (especificamente el método $post - serialize), se envían éstos dos datos a un archivo php (contenido.php) que los procesa y selecciona los registros adecuados a la solicitud. Una vez efectuado esto si la comunicación con el servidor fue correcta, se debe cargar en un <div> de inicio.html el resultado solicitado para que el cliente lo pueda visualizar.

1. El resultado de la consulta se puede cargar en el div de inicio.html de dos maneras.

a) mediante .html() así:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.  
  3.     $("#boton1").click(function(e){
  4.         if (!e.isDefaultPrevented()){
  5.             $.post("contenido.php",function(data){
  6.                 if (data!=false){
  7.                     $('#div_recibe').html(data);
  8.                 };
  9.             });
  10.         e.preventDefault();
  11.         }
  12.     });
  13.  
  14. });

Hay que tener en cuenta que el archivo php sólo visualiza mediante un IF el contenido html si se cumplen ciertos requisitos como que las fechas no vengan vacías por decirlo así. Y la data recibida es toda la información html de contenido.php.


b) mediante .load() así:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.  
  3.     $("#boton1").click(function(e){
  4.         if (!e.isDefaultPrevented()){
  5.             $.post("contenido.php",function(data){
  6.                 if (data!=false){
  7.                     $('#div_recibe').load('ctcsdets.php');
  8.                 };
  9.             });
  10.         e.preventDefault();
  11.         }
  12.     });
  13.  
  14. });

Al igual que en el caso anterior, si las fechas no están "vacías" contenido.php visualiza mediante in IF el contenido html del mismo que es el que se carga en el div.


En ambos casos se cumple el propósito de visualizar la información pedida por el usuario pero quiero regresar a mi pregunta inicial a ver si aclaro lo siguiente:

a. Qué diferencias de fondo hay entre estos dos métodos y cual es mejor de ellos para cargar y mostrar el resultado?

b. Qué ventajas o desventajas tiene su uso y en qué casos se debe usar uno u otro método?