Javascript dentro de Ajax Leido 8.522 veces

 
 
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);}


 

 





 
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); }


 

 


 
Pero te da algún error concreto?
 

 


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

 


 
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); }