Comunidad PHPeros
Lenguajes => JavaScript => AJAX => Mensaje iniciado por: judoka en 05 de Agosto de 2011, 13:25:49 pm
-
Hola, hoy traigo una duda que es bastante importante para mi pero seguramente muy sencilla para otros.
Se trata de enviar junto con la petición de modulación una palabra para poder usarla luego con php e identificar la sección. Es decir, mandar una variable a través de AJAX y luego recibirla en PHP.
Según tengo entendido, debería ser a través de GET, pero no quiero que se muestre en la url (o sea, que mantenga siempre el index.php a poder ser, si no no pasa nada).
Actualmente cargo las páginas así: <a href="javascript:ajaxpage('pagina.php', 'div_contenedor', 'Aqui quiero la variable');">
Este es el código ajax:
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""
function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}
function loadpage(page_request, containerid){
if (page_request.readyState == 1 || page_request.readyState == 2 || page_request.readyState == 3){
document.getElementById(containerid).innerHTML='<center><img src="anim.gif"><br><strong>Cargando...</strong></center>';}
if (page_request.readyState == 4){
if(page_request.status==200 || window.location.href.indexOf("http")==-1){
document.getElementById(containerid).innerHTML=page_request.responseText;
} else if(page_request.status==404) {
document.getElementById(containerid).innerHTML='Error intentando cargar la página.';
}
}
}
function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
¿Cómo debo hacerlo? Gracias !
-
Ese code está copiado y pegado, si quieres solucionar tu problema, haz el tuyo y verás que se arregla, porque en esta comunidad NO damos codes hechos y/o reparados, sino te enseñamos a crear los tuyos. Mirate algún tuto de AJAX o pregunta por aquí cosas que están permitidas ._.
-
Tranquila flecha... llevo mas tiempo que tu en la comunidad y creo que me se las normas.
Lee mi pregunta y veras como no pido codigo, si no alguna explicacion o alguna funcion que me pueda ayudar. Con eso me bastaria para buscar informacion y solucionar mi duda.
Gracias por todo ;)
-
Martin tiene razón en una cosa, si montas tu propio código lo entenderás mejor, porque eso es una maraña de código increible :/
Pero respecto a la duda, la función al parecer tiene el código preparado para que la url tenga valores get, sencillamente usa ajaxpage('pagina.php?a=1&b=2', 'cont'); y listo.
Y eso no se mostrará en la URL, claro está.
-
Martin tiene razón en una cosa, si montas tu propio código lo entenderás mejor, porque eso es una maraña de código increible :/
Pero respecto a la duda, la función al parecer tiene el código preparado para que la url tenga valores get, sencillamente usa ajaxpage('pagina.php?a=1&b=2', 'cont'); y listo.
Y eso no se mostrará en la URL, claro está.
K+, me sirve a mí tambiénTranquila flecha... llevo mas tiempo que tu en la comunidad y creo que me se las normas.
Lee mi pregunta y veras como no pido codigo, si no alguna explicacion o alguna funcion que me pueda ayudar. Con eso me bastaria para buscar informacion y solucionar mi duda.
Gracias por todo ;)
No he dicho que hayas pedido código, sino que, como no es tuyo, no lo entiendes....
Y no importa que estés más tiempo aquí, porque si no te has leído las normas, por mucho que estés aquí cualquiera las conocoerá mejor que tu si se las lee ._.