[Php-avanzado] consulta ajax

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Mayo 27 13:42:08 ART 2013


Hola Ariel,

El dom, 26-05-2013 a las 18:35 -0300, Ariel Fernández escribió:
> Hola, cómo andan? estoy tratando de enviar post con ajax pero no lo
> entiendo, Leo, si pudieras enviar un ejemplo, sería de gran ayuda,
> porque no alcanza con sólo cambiar el modo a post en el
> xmlhttp.open......algo más está faltando porque así solo no llega la
> variable.
> Logré hacerlo funcionar poniendo la variable en el send así
> ("id_prov=" + id) pero no creo que sea lo más adecuado, no? o sí?   y
> además, será necesario usar  setRequestHeader ? como?

	Si lo madás con esos parámetros en el URL, en realidad lo estás
mandando por GET.
	Además de cambiar el método de GET a POST en la llamada a send(), hay
que armar los pares nombre-valor en formato x-www-form-urlencoded

http://www.cristalab.com/tutoriales/enviar-datos-por-post-y-get-en-ajax-en-una-funcion-c237l/
http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

	Por otra parte, hay varias formas de armar los valores POST en formato
x-www-form-urlencoded


> Otra consulta: es válido procesar la consulta en el php y devolver por
> ejemplo, el select ya generado?? asi lo hice para el ejercicio de las
> provincias y localidades leyendo una BD.
> O es mejor devolver xml  solamente con los datos y armarlo después al
> select con javascript ?? en éste último caso, cómo se hace?

	Es válido devolver un input de tipo select armado.
	La cuestión es que esta no es una solución universal, ya que el
JavaScript relacionado con el select puede no funcionar ya que no
existía cuando se intepretó el código JS.
	Una solución intermedia es tener el select vacío, y vía AJAX enviar
solo los <option>
	La solución universal sin embargo es parsear la respuesta (con
separadores, en XML, como sea) y crear cada <option> con createElement()

> Saludos,

	=mente!


PD: y la SRS de tu trabajo final como va?




-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado