Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con javascripts en Ajax

Estas en el tema de Problema con javascripts en Ajax en el foro de Frameworks JS en Foros del Web. Hola! Bueno, paso a contarles el problemón que tengo con el Ajax. Resulta que yo quería innovar en mi web y decidí utilizar AJAX. A ...
  #1 (permalink)  
Antiguo 14/01/2009, 09:40
 
Fecha de Ingreso: febrero-2008
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
Problema con javascripts en Ajax

Hola!
Bueno, paso a contarles el problemón que tengo con el Ajax. Resulta que yo quería innovar en mi web y decidí utilizar AJAX.
A veces, cuando uno realiza una operación o algo, necesita motrar una alerta en javascript (ya sabemos, <script>alert('')</script>). El problema es que no me acepta ningún script al mostrarse en la web.
Lo ejemplificaré porque soy pésimo para relatar estas cosas: Supongamos que yo quiero poner de favorito un artículo, entonces clickeo donde dice [Favorito], y debería aparecer una alerta diciendo que la opración se ha realizado con éxito.
El problema es que no lo hace.
Dejaré acá el script que tengo de AJAX así encuentro el error...
Código:
function makeAjax(){
var xmlhttp=false;
 	try {
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
 		try {
 			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 		} catch (E) {
 			xmlhttp = false;
 		}
  	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;

}

function setAjax(url,capa,valores,metodo, carga) {
   var ajax=makeAjax();
 if(metodo.toUpperCase()=='POST'){
  ajax.open ('POST', url, true);
  ajax.onreadystatechange = function() {
     if (ajax.readyState==1) {
       insertar(capa, carga);
     } else if (ajax.readyState==4){
        if(ajax.status==200) {
	   insertar(capa, ajax.responseText);
     } else if(ajax.status==404) {
      insertar(capa, "La dirección no existe.");
     } else {
 //
     }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    return;
}
if(metodo.toUpperCase()=='GET'){
 ajax.open ('GET', url, true);
 ajax.onreadystatechange = function() {
   if (ajax.readyState==1) {
	 insertar(capa, carga);
  } else if (ajax.readyState==4){
      if(ajax.status==200){ 
	   insertar(capa, ajax.responseText);
     } else if(ajax.status==404) {
      insertar(capa, "La dirección no existe.");
     } else {
//
            }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);
    return
}
}
function hideAjax(url, valores, metodo){
   var ajax=makeAjax();
 if(metodo.toUpperCase()=='POST'){
  ajax.open ('POST', url, true);
  ajax.onreadystatechange = function() {
     if (ajax.readyState==1) {
//
     } else if (ajax.readyState==4){
        if(ajax.status==200) {
	   eval(ajax.responseText);
     } else if(ajax.status==404) {
//
     } else {
//
     }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    return;
}
if(metodo.toUpperCase()=='GET'){
 ajax.open ('GET', url, true);
 ajax.onreadystatechange = function() {
   if (ajax.readyState==1) {
//
  } else if (ajax.readyState==4){
      if(ajax.status==200){ 
	   eval(ajax.responseText);
     } else if(ajax.status==404) {
//
     } else {
//
     }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);
    return
}
}
Ahí se encuentran dos Ajax, uno que muestra mediante la función insertar (un script que hace el innerHTML) y el otro que lo hace mediante eval.
No sé dónde está el error... pero es recontra importante ya que estoy basando mucho de la web en el AJAX.

Saludos!
  #2 (permalink)  
Antiguo 14/01/2009, 09:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema con javascripts en Ajax

http://www.forosdelweb.com/f77/howto...e-ajax-510438/

Saludos
  #3 (permalink)  
Antiguo 14/01/2009, 12:22
 
Fecha de Ingreso: febrero-2008
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problema con javascripts en Ajax

Hay un problema... no me funciona... o sea, no se puede solucionar en el mismo ajax?? es que en el que no se usa capa no hay cómo hacer que funcione... pero en realidad quería saber si se podía solucionar.. es que creo que debería haber una solución en el mismo....
No sé.. es muuy rebuscado eso.. no?
Es que hay muchas aplicaciones, y no explica dónde tendría que poner algunos códigos..

Con eval() no debería funcionar???

Última edición por Tinger; 14/01/2009 a las 12:27
  #4 (permalink)  
Antiguo 14/01/2009, 14:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema con javascripts en Ajax

No, cuando tu traes un request AJAX, es puro texto, hay que extraer los scripts y evaluarlos, de lo contrario no va a funcionar.

Saludos
  #5 (permalink)  
Antiguo 14/01/2009, 22:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problema con javascripts en Ajax

wiii! ya pude!! terminé usando Jquery. Es muy bueno, pero como no me acostumbro lo usé sólo para esa función...
  #6 (permalink)  
Antiguo 15/01/2009, 10:23
 
Fecha de Ingreso: enero-2009
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con javascripts en Ajax

encontre una solucion para mootools pero solo ejecuta el javascript que se encuentre en la pagina

Código:
function link(dato){

    new Request.HTML({
        evalScripts: false,
     url:dato,
     
     	onRequest: function() { 
		 	$('contenido').set('text', 'C A R G A N D O ')},
        onSuccess: function(html, elements, tree, javascript) {
            $('contenido').set('text', '');
            $('contenido').adopt(html);
            if (javascript) $exec(javascript);
        },
        onFailure: function() { $('contenido').set('text', 'fallo.'); }
        
    }).send();
}
si alguien sabe alguan forma de ejecutar el js que se encuentre linkeado en la pagina seria de gran ayuda
  #7 (permalink)  
Antiguo 15/01/2009, 13:57
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 1 mes
Puntos: 27
Respuesta: Problema con javascripts en Ajax

tu evalScripts: false,
seria true

Yo tenia un error con algo similar, lee este post te servira en algo

tienes que colocar al final de tu pagina cargada la llamada a tu función que necesitas que se evalue en esa pagina llamada con ajax

http://www.forosdelweb.com/f77/probl...pe-ajax-661452
/#post2739313
__________________
JuanRa Pérez
San Salvador, El Salvador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:48.