Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2008, 23:40
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: redireccionar pagina usando php y ajax

No funciona porque para ejecutar scripts presentes en la respuesta Ajax, hay que tratarla previamente:
Código:
//prototipo que sirve para tratar la respuesta:
String.prototype.tratarResponseText=function(){
    var pat=/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig;
    var pat2=/\b\s+src=[^>\s]+\b/g;
    var elementos = this.match(pat) || [];
    for(i=0;i<elementos.length;i++) {
        var nuevoScript = document.createElement('script');
        nuevoScript.type = 'text/javascript';
        var tienesrc=elementos[i].match(pat2) || [];
        if(tienesrc.length){
            nuevoScript.src=tienesrc[0].split("'").join('').split('"').join('').split('src=').join('').split(' ').join('');
        }else{
            var elemento = elementos[i].replace(pat,'$1');
            nuevoScript.text = elemento;
        }
        document.getElementsByTagName('body')[0].appendChild(nuevoScript);
    }
    return this.replace(pat,'');
} 
//...resto del código
if(aj.readyState==4){   document.getElementById('idCapa').innerHTML=aj.responseText.tratarResponseText();
}
Y con eso sí se interpreta el código javascript presente en la respuesta ajax

Última edición por Panino5001; 25/06/2008 a las 23:48