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

Enviar HTML directamente o JSON y generar html con js

Estas en el tema de Enviar HTML directamente o JSON y generar html con js en el foro de Frameworks JS en Foros del Web. Buenas, No tengo mucha experiencia con AJAX, solo he hecho algunas cositas. Me salio un trabajo bastante mas importante y quisiera saber cual es la ...
  #1 (permalink)  
Antiguo 15/05/2007, 13:03
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 5 meses
Puntos: 6
Enviar HTML directamente o JSON y generar html con js

Buenas,

No tengo mucha experiencia con AJAX, solo he hecho algunas cositas. Me salio un trabajo bastante mas importante y quisiera saber cual es la mejor forma de realizar selects dependientes con ayuda de ajax (PHP y MySQL por el lado del servidor). Se como relacionarlos y todo, lo que no se es si PHP debe pintar directamente el contenido de los selects en formato HTML o bien pasarle los datos a javascript en formato JSON para luego generar los selects desde el cliente.

Los selects no tendrán mucha info, unas 40 o 50 opciones mas o menos.


Gracias de antemano!
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #2 (permalink)  
Antiguo 17/05/2007, 23:02
 
Fecha de Ingreso: enero-2006
Mensajes: 47
Antigüedad: 18 años, 11 meses
Puntos: 0
Por lo que dices no hay problema en utilizar cualquiera de los dos metodos.

Si es utilizando patrones; mejor hazlo en el lado del servidor

y seria por ejemplo

creas el select en el servidor y lo llenas;
<?php
echo "<select>";
echo utf8_encode("<option value=1> mostrar1</option>");
echo utf8_encode("<option value=2> mostrar2</option>");
echo utf8_encode("<option value=3> mostrar3</option>");
echo utf8_encode("<option value=4> mostrar4</option>");
echo "</select>";
?>

y el el cliente mediante AJAX lo cojes con la propiedad del objeto XMLHTTRequest responseTXT.

seria;
creas un div donde quieres que se mustre la informacion
<div id="mostrar"></div>

y en la funcion de respuesta seria

document.getElementById('mostrar').innertHTML = peticion.responseTXT;

suponiendo que peticion es una instancia del objeto XMLHTTRequest

epsero que te sirva

-------------------------------------------------------------

si es utilizando jason es un poco mas complicado pero te dire la idea
no te tiro el codigo por no tener u id a mano
pero seria

creas una clase con las propiedades publicas de lo que quieres tener en cada opcion del select
<?php
class LLenar{
public $value
public $mostrar;

public function __construct($value,$mostrar)

$this->value = $value;
$this->mostrar = $mostrar;

}
$lista= array();
array_push($lista,new LLenar(1,mostrar1) );
array_push($lista,new LLenar(2,mostrar2) );
array_push($lista,new LLenar(3,mostrar3) );
array_push($lista,new LLenar(4,mostrar4) );

// lo convierto a un arreglo de objetos literales de java script que es la sintaxis de json
$cadena = json_encode($lista);

echo $cadena;

en el metodo response

var cadena = peticion.responseTXT;

// convierto el arreglo literal a un arreglo de java escript
var lista = eval("("+cadena+")");

recorro el arreglo arrglo y lo muestro en la etiqueta que quieras

ahh
la funcrion json_encde en php debes habilitarla en el php.ini

Bueno espero que te sirva de algo
  #3 (permalink)  
Antiguo 22/05/2007, 14:28
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 5 meses
Puntos: 6
Re: Enviar HTML directamente o JSON y generar html con js

Muchas gracias, era exactamente lo que queria saber. Te pasaste, con los ejemplso y todo. Muchas gracias
__________________
Federico.

Mi página: www.jourmoly.com.ar
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 23:16.