Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ajax - Cargar datos en dos partes de la página madre con el mismo archivo fuente

Estas en el tema de Ajax - Cargar datos en dos partes de la página madre con el mismo archivo fuente en el foro de Frameworks JS en Foros del Web. Saludos a todos. ¿Hay alguna forma de completar dos partes de una página (las opciones de un select y un div con contenido informativo) desde ...
  #1 (permalink)  
Antiguo 07/12/2011, 16:41
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años, 6 meses
Puntos: 14
Ajax - Cargar datos en dos partes de la página madre con el mismo archivo fuente

Saludos a todos.

¿Hay alguna forma de completar dos partes de una página (las opciones de un select y un div con contenido informativo) desde el mismo archivo recogido con Ajax?


Tengo página "bla.php".
Select 1, Select 2
DIV Informativo.

Al cambiar Select 1 o Select 2, genero llamada Ajax (OnChange) a página "Blablo.php".

¿Blablo puede generarme las nuevas opciones del otro Select Y el codigo informativo?

Sé que esto se puede hacer seguro con dos archivos y dos lllamadas Ajax, pero me preguntaba si se puede hacer con sólo uno.

Gracias.
  #2 (permalink)  
Antiguo 08/12/2011, 07:07
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Ajax - Cargar datos en dos partes de la página madre con el mismo archivo

lo que puedes hacer es preparar desde el servidor una forma de como diferenciar esa data, como por ejemplo enviar una respuesta JSON o XML y desde el onreadystatechange separar las partes y aplicar en donde desees
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/12/2011, 08:40
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años, 6 meses
Puntos: 14
Respuesta: Ajax - Cargar datos en dos partes de la página madre con el mismo archivo

Estoy todavía aprendiendo y JSON no sé que es (y xml tengo una idea del concepto). Leeré al respecto y si consigo algo ya informaré. Gracias!
  #4 (permalink)  
Antiguo 09/12/2011, 09:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años, 6 meses
Puntos: 14
Respuesta: Ajax - Cargar datos en dos partes de la página madre con el mismo archivo

Bueno, he investigado un poco a este respecto y por lo que he visto, Jquery puede llegar a facilitar este aspecto bastante.

El problema es que quiero hacerlo sin Jquery, porque sí.

Sin Jquery, habrían dos formas, la fácil y la difícil.
La difícil sería con etiquetas XML (como maycolalvarez quiso indicar, imagino).
Información aquí: http://www.xml.com/pub/a/2005/02/09/...p-request.html

La fácil es como lo he hecho:

Código PHP de la página que cargo con Ajax:
Código PHP:
$separadorAjax "|Separador|";
$texto1 "Hola que tal estas, espero que todo bien. De no ser asi podriamos cabrearnos todos juntos y felizmente. JJEJEJE :D";


$texto2 "Y este, el segundo texto, tambien podria ser largo.";

echo 
$texto1.$separadorAjax.$texto2
Y código Javascript que recoge estos datos:

Código:
(...)
		if (ajax.readyState==4)	{
			resultado = (ajax.responseText).split("|Separador|");
			var contenido1 = resultado[0];
			var contenido2 = resultado[1];
			alert(contenido1);
			alert(contenido2);
		}
(...)
Por ahora me quedo contento. Cuando haga más avances ya pondré más información, porque la verdad es que es un tema difícil y me está costando encontrar información...
  #5 (permalink)  
Antiguo 09/12/2011, 15:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Ajax - Cargar datos en dos partes de la página madre con el mismo archivo

bueno, te indique que también lo puedes hacer con JSON, la ventaja de XML es que te ahorras el parseo en js:

Código Javascript:
Ver original
  1. var partes = ajax.responseXML.getElementsByTagName('parte'); // NÓTESE responseXML
  2. alert(partes[0].nodeValue);
  3. alert(partes[1].nodeValue);

y en PHP:
Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/xml');
  3.  
  4. echo '<?xml version="1.0" encoding="UTF-8" ?>';
  5. echo '<partes><parte><![CDATA[valor1]]></parte><parte><![CDATA[valor2]]></parte></partes>'

aunque la solución alternativa es válida +karma
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, fuente, madre, página, partes, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:10.