Javascript dentro de Ajax Leido 8.445 veces

 
  Broco
Pregunta
Resuelta.
Tengo he intentando fusionarlo con el de surfear.net.. pero no me funciona..


function ajax(div,parametro1,parametro2,parametro3,parametro4,parametro5) {
var http = false; if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP"); } else { http = new XMLHttpRequest(); }
rannum = Math.random()*50000; http.open("GET", "/ajax.php?uno="+parametro1+"&manzana="+parametro2+"&elpara="+parametro3+"&lapera="+parametro4+"&cinco"+parametro5, true);
http.onreadystatechange=function() { if(http.readyState == 4) { document.getElementById(div).innerHTML = http.responseText; } }
http.send(null);}


 

 





  Jesús
Respuesta correcta
Pues para poder cargar un javascript que recibes por ajax, tienes que crear un objeto script:


var elobjscript= document.createElement('script');
elobjscript.type = 'text/javascript';
elobjscript.text = ' aquí el código de javascript ';


Una vez creado tienes que añadirlo al head del html:


var elhead = document.getElementsByTagName('HEAD').item(0);
elhead.appendChild( elobjscript );


Aquí tienes la función ajax que he creado para Surfear.net, modificala para ajustarla a tus necesidades:


function ajax(funcion,div,parametros,ajaxidv) { var rannum = Math.random()*50000; var postx = "f="+funcion+"&rnd="+rannum+"&ajaxid="+ajaxidv+"&p="+parametros.replace(/&/g, '[amp]') ;  var http = false; if(navigator.appName == "Microsoft Internet Explorer") { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { http = new XMLHttpRequest(); }  http.open('POST', '/ajax.aspx', true);  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); http.setRequestHeader('Content-length', postx.length); http.setRequestHeader('Connection', 'close'); http.onreadystatechange=function() { if(http.readyState == 4) { var resultado = http.responseText; var tagaviso = ''; try{ tagaviso = resultado.substr(0,6); }catch(err){} if (tagaviso == 'AVISO:' || tagaviso == 'AVISO!' ) {alert(resultado.substr(6)); if (tagaviso == 'AVISO!') {location.reload(true);} }else{ if (div != '') {document.getElementById(div).innerHTML = http.responseText; var scpt=http.responseText; if(scpt.indexOf('<script ') != -1 ) { var pos1 = scpt.indexOf('<script '); var pos2 = scpt.indexOf('<\/script>'); var elscript= scpt.substring(pos1,pos2); elscript= elscript.substring(elscript.indexOf('>')+1); var elhead = document.getElementsByTagName('HEAD').item(0); var elobjscript= document.createElement('script'); elobjscript.type = 'text/javascript'; elobjscript.text = elscript; elhead.appendChild( elobjscript ); }  } } } };http.send(postx); }


 

 


  Jesús
Pero te da algún error concreto?
 

 


  Broco
simplemente no pasa nada.. creo que no se fusionarlo bien..  no se donde empieza ni donde termina el ajax.. de surfear.net
 

 


  Jesús
Respuesta correcta
Pues para poder cargar un javascript que recibes por ajax, tienes que crear un objeto script:


var elobjscript= document.createElement('script');
elobjscript.type = 'text/javascript';
elobjscript.text = ' aquí el código de javascript ';


Una vez creado tienes que añadirlo al head del html:


var elhead = document.getElementsByTagName('HEAD').item(0);
elhead.appendChild( elobjscript );


Aquí tienes la función ajax que he creado para Surfear.net, modificala para ajustarla a tus necesidades:


function ajax(funcion,div,parametros,ajaxidv) { var rannum = Math.random()*50000; var postx = "f="+funcion+"&rnd="+rannum+"&ajaxid="+ajaxidv+"&p="+parametros.replace(/&/g, '[amp]') ;  var http = false; if(navigator.appName == "Microsoft Internet Explorer") { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { http = new XMLHttpRequest(); }  http.open('POST', '/ajax.aspx', true);  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); http.setRequestHeader('Content-length', postx.length); http.setRequestHeader('Connection', 'close'); http.onreadystatechange=function() { if(http.readyState == 4) { var resultado = http.responseText; var tagaviso = ''; try{ tagaviso = resultado.substr(0,6); }catch(err){} if (tagaviso == 'AVISO:' || tagaviso == 'AVISO!' ) {alert(resultado.substr(6)); if (tagaviso == 'AVISO!') {location.reload(true);} }else{ if (div != '') {document.getElementById(div).innerHTML = http.responseText; var scpt=http.responseText; if(scpt.indexOf('<script ') != -1 ) { var pos1 = scpt.indexOf('<script '); var pos2 = scpt.indexOf('<\/script>'); var elscript= scpt.substring(pos1,pos2); elscript= elscript.substring(elscript.indexOf('>')+1); var elhead = document.getElementsByTagName('HEAD').item(0); var elobjscript= document.createElement('script'); elobjscript.type = 'text/javascript'; elobjscript.text = elscript; elhead.appendChild( elobjscript ); }  } } } };http.send(postx); }


 

 








    ¿Cuantas columnas?     | 2 columnas | 3 columnas | 4 columnas | 5 columnas | 6 columnas |  
    Escribe la dirección web de la imagen:
  Publica tu respuesta  |  Haz Click en el siguiente cuadro para escribir