Comunidad de diseño web y desarrollo en internet online

Pasar variables por GET => AJAX sin morir en el intento

Citar            
MensajeEscrito el 18 Ago 2008 07:58 am
Buenos dias, o mejor dicho.. noche en mi caso jaja.. resulta que me pase todo el dia intentando solucionar esto pero como tengo pocos conocimientos de js no entiendo que pasa :S y no me tira ninguna error cuando hago los cambios asi que se me hace mas dificil aun..

resulta que cargo clientes desde mysql via php eso anda perfecto ya que uso solo una variable GET pero el problema aparece cuando pongo una segunda variable.

Código :

javascript:recibeid('consulta.php','ver=proveedores&id=2','','contenedor')


como se ve tengo 2 variables ver e id, solo me toma ver y no me carga id.. lei por ahi que tengo separar las variables mediante una funcion pero no di con el link correcto no logro que me lo tome..

la pregunta es ¿como hago para que ajax me tome 2 variables o mas.. via GET? y claro me carge el resultado que seria una consulta php en el mismo contendor.. en fin muchas gracias slds.

PD: si necesitan mas datos los pongo.. pero se que es una tontera esto pero no encuentro la solucion.. gracias.

Por matuteworld

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ago 2008 02:12 pm
te recomiendo que uses el framework Jquery así todo es mucho mas sencillo.
http://docs.jquery.com/
http://www.cristalab.com/tutoriales/214/tutorial-de-jquery.html
http://www.cristalab.com/tips/42442/cargar-html-externo-con-jquery.html
y la función que necesitas:
http://docs.jquery.com/Ajax/jQuery.getJSON
http://docs.jquery.com/Ajax/jQuery.getScript

PD. si tu necesitas recibir una variable por get puedes recibirla he imprimirla con php pues para eso no requieres asincronia

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 18 Ago 2008 02:31 pm
Depende de como este hecha tu función para manejar más de una variable y si es que usas alguna librearía de clases JS. Tienes que darnos estos datos para ayudarte.
Si lo quieres hacer por GET con tu función, prueba así, tal vez funcione:

Código Javascript :

javascript:recibeid('consulta.php?ver=proveedores&id=2','','','contenedor')

Por Otaku RzO

BOFH

1890 de clabLevel

12 tutoriales
1 articulo

Genero:Masculino   Desarrollador de GAIA Bastard Operators From Hell

Lima - Perú

firefox
Citar            
MensajeEscrito el 18 Ago 2008 07:26 pm
Buenas... gracias por la ayuda de los 2... voy a centarme a ver lo de jQuery parece interesante.. por otro lado les paso la funcion que la consegui en una web no recuerdo cual.. pero me gusto que tenia preload y podia cargar post y get, como veran tiene un campo definido para cada variable.. intente de todo.. agregar campos.. poner los 2 valores en get... lo que me dijiste vos de poner los valores junto con la url... y nada che.. llega solamente la 1era variable sec y no la id... bueno desde ya muchas gracias.. un saludo..

Código :

function recibeid(_pagina,valorget,valorpost,capa){ 

ajax=objetus(_pagina);

if(valorpost!=""){
ajax.open("POST", _pagina+"?"+valorpost+"&tiempo="+new Date().getTime(),true);
} else {
ajax.open("GET", _pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);
}

ajax.onreadystatechange=function() {
 if (ajax.readyState==1){
  document.getElementById(capa).innerHTML = "<img src='images/ajax-loader.gif' align='center'> Aguarde por favor...";
  }
  if (ajax.readyState==4) {
   if(ajax.status==200)
   {document.getElementById(capa).innerHTML = ajax.responseText;}
   else if(ajax.status==404)
   {capa.innerHTML = "La direccion no existe";}
   else
   {capa.innerHTML = "Error: ".ajax.status;}
}
}
if(valorpost!=""){
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(valorpost);
} else {
ajax.send(null);
}
} 

Por matuteworld

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ago 2008 08:43 pm
Que extraño, debería de funcionar como lo mencionaste al inicio. Verifica bien el archivo PHP al que haces el llamado.

La función que muestras con jQuery sería:

Código Javascript :

function recibeId(_pagina,valor,tipo,capa)
{
   /*
   _pagina:String   => url del php
   valor:Object   => parametros
   tipo:String      => GET o POST
   capa:String      => id del lugar donde se cargarán los datos
   */
   $('#'+capa).html("<img src='images/ajax-loader.gif' align='center'> Aguarde por favor..."); //Tu cargador
   
   switch( String(tipo).toUpperCase() )
   {
      case "GET":
         $.get(_pagina + "?tiempo="+new Date().getTime(), valor, showResult);
      break;
      
      case "POST":
         $.post(_pagina + "?tiempo="+new Date().getTime(), valor, showResult);
      break;
   }
}

function showResult(data, textStatus)
{
   switch(textStatus)
   {
      case "success": 
         $('#'+capa).html(data);
      break;

      //otros casos: timeout, error, notmodified, parsererror
      
      default:
         $('#'+capa).html("Error: " + txtStatus);
   }
}

y la llamarias así:

Código Javascript :

recibeId('consulta.php',{ver:'proveedores', id:2},'GET','contenedor');

Para más detalles con jQuery revisa:
http://docs.jquery.com/Ajax/jQuery.get
http://docs.jquery.com/Ajax/jQuery.post

Suerte :wink:

Por Otaku RzO

BOFH

1890 de clabLevel

12 tutoriales
1 articulo

Genero:Masculino   Desarrollador de GAIA Bastard Operators From Hell

Lima - Perú

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.