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 !