[Php-avanzado] problema con XMLHttpRequest

Ariel Fernández arielf05 en gmail.com
Vie Jun 14 00:10:43 ART 2013


Hola, no dijiste cuál es el problema, pero para empezar, y según lo que he
aprendido, tenés mal definidos los array, ya que cada valor va entre
comillas, y cada uno separado a su vez por comas. Además, se utiliza new
Array y no array.
Ej:
var arrProv = new Array(
"Buenos Aires",
"Buenos Aires-GBA",
"Capital Federal",
"Catamarca",
"Chaco"
)



var url = "Ejercicio7.php?codProv="+ escape(codProv); ->*Esta linea que
haria?*
*Ésta línea arma la url con el valor seleccionado del campo select llamado
paises, el cual especificaste en:*
var codProv = document.getElementById('paises').options[document.
getElementById('paises').selectedIndex].value;



xmlHttp.send(null); -> * Vi en el modulo que aca se envia "nombre=?" +
escape(nombre) no entendi esta parte googleando vi que tmb envian null*
xmlHttp.open("GET",url,true);*->aca envia la url con el codigo de la
provincia? Se puede enviar por POST?*
*Sí, se puede, pero es ligeramente diferente. Mirá acá para tener una guía:*
*
http://www.cristalab.com/tutoriales/enviar-datos-por-post-y-get-en-ajax-en-una-funcion-c237l/
*
*
*
*
*
*
*
*Lo de la carga dinámica del select es una de las opciones, la otra sería
generarlo con php y consultas a una tabla.*
*
*
*
*
Espero que te sirva.
Saludos
*
*
*
*


El 13 de junio de 2013 11:37, leandro saubiette
<saubietteleandro en gmail.com>escribió:

> Gente paso este codigo haber si alguien me puede ayudar quisiera cargar
> mediante ajax las provincias segun el pais seleccionado, es el ejercicio 7
> de la clas de js
>
> Muchas gracias
>
>
>
> var xmlHttp = new XMLHttpRequest();
>
>
> var argentina=array("Ciudad de Buenos Aires,Buenos
> Aires,Catamarca,Chaco,Chubut,Córdoba,Corrientes,Entre Ríos,Formosa,Jujuy,La
> Pampa,La Rioja,Mendoza,Misiones,Neuquén,Río Negro,Salta,San Juan,San
> Luis,Santa Cruz,Santa Fe,Santiago del Estero,Tierra del Fuego,Tucumán");
>
>
>
> var argelia = array("Adrar,Aïn Témouchent,Annaba,Argel,Aïn
> Defla,Batna,Biskra,Blida,Bordj Bou
> Arréridj,Bouira,Boumerdès,Bujía,Béchar,Chlef,Constantina,Djelfa,El
> Bayadh,El Oued,El
> Tarf,Ghardaïa,Guelma,Jijel,Khenchela,Laghouat,M_Sila,Médéa,Mila,Mostaganem,Muaskar,Naama,Orán,Ouargla,Oum
> el-Bouaghi,Relizan,Saida,Sidi Bel Abbes,Skikda,Provincia de Souk
> Ahras,Sétif,Tamanghasset,Tiaret,Tinduf,Tipasa,Tissemsilt,Tizi
> Ouzou,Tlemecén,Tébessa");
>
> var xmlHttp = new XMLHttpRequest();
> var argentina=array("Ciudad de Buenos Aires,Buenos
> Aires,Catamarca,Chaco,Chubut,Córdoba,Corrientes,Entre Ríos,Formosa,Jujuy,La
> Pampa,La Rioja,Mendoza,Misiones,Neuquén,Río Negro,Salta,San Juan,San
> Luis,Santa Cruz,Santa Fe,Santiago del Estero,Tierra del Fuego,Tucumán");
> var argelia = array("Adrar,Aïn Témouchent,Annaba,Argel,Aïn
> Defla,Batna,Biskra,Blida,Bordj Bou
> Arréridj,Bouira,Boumerdès,Bujía,Béchar,Chlef,Constantina,Djelfa,El
> Bayadh,El Oued,El
> Tarf,Ghardaïa,Guelma,Jijel,Khenchela,Laghouat,M_Sila,Médéa,Mila,Mostaganem,Muaskar,Naama,Orán,Ouargla,Oum
> el-Bouaghi,Relizan,Saida,Sidi Bel Abbes,Skikda,Provincia de Souk
> Ahras,Sétif,Tamanghasset,Tiaret,Tinduf,Tipasa,Tissemsilt,Tizi
> Ouzou,Tlemecén,Tébessa");
> function callServer()
> {
> //Obtiene el nombre escrito a medida que se escribe
> var codProv =
> document.getElementById('paises').options[document.getElementById('paises').selectedIndex].value;
>  //Sigo solo si hay datos
>  if((codProv == null) ||(codProv==""))
>  {
> return;
> }
>  //Arma URL
>  var url = "Ejercicio7.php?codProv="+ escape(codProv);
>  // Abro conexion con el servidor
>  xmlHttp.open("GET",url,true);
>  //Determino la funcion que se va a ejecutar cuando se obtiene la
> respuesta del servidor
>  xmlHttp.onredystatechange = updatePage;
>  //Envio la peticion
>  xmlHttp.send(null);
>  //Funcion que actualiza la pagina con la respuesta
>  function updatePage()
> {
> if(xmlHttp.readyState == 4)
>  {
> if(codProv == "ar")
>  for(f=0;f< argentina.length();f++)
>     {
>       var op=document.createElement('option');
>       var texto=document.createTextNode(argentina[f].firstChild.nodeValue);
>       op.appendChild(texto);
>       document.getElementById("provincias").appendChild(op);
>     }
> }
> }
>
>
>
> function callServer()
> {
> //Obtiene el nombre escrito a medida que se escribe
> var codProv =
> document.getElementById('paises').options[document.getElementById('paises').selectedIndex].value;
>  //Sigo solo si hay datos
>  if((codProv == null) ||(codProv==""))
>  {
> return;
> }
>  //Arma URL
>
>
> var url = "Ejercicio7.php?codProv="+ escape(codProv); ->*Esta linea que
> haria?*
>  // Abro conexion con el servidor
>  xmlHttp.open("GET",url,true);*->aca envia la url con el codigo de la
> provincia? Se puede enviar por POST?*
>  //Determino la funcion que se va a ejecutar cuando se obtiene la
> respuesta del servidor
>  xmlHttp.onredystatechange = updatePage;
>  //Envio la peticion
>  xmlHttp.send(null); -> * Vi en el modulo que aca se envia "nombre=?" +
> escape(nombre) no entendi esta parte googleando vi que tmb envian null*
>  //Funcion que actualiza la pagina con la respuesta
>  function updatePage()
> {
> if(xmlHttp.readyState == 4)
>  {
> if(codProv == "ar")
>  for(f=0;f< argentina.length();f++)
>     {
>       var op=document.createElement('option');
>       var texto=document.createTextNode(argentina[f].firstChild.nodeValue);
>       op.appendChild(texto);
>       document.getElementById("provincias").appendChild(op);
>
> *este for lo hago para agregar OPTION al select de las provincias que es
> lo que quiero que se cargue dinamicamente tmb lo encontre en un foro*
>     }
>  }
> }
>
>
>
> Gracias
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130614/f6d5bdb2/attachment-0001.html>


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