Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2009, 09:40
Tinger
 
Fecha de Ingreso: febrero-2008
Mensajes: 58
Antigüedad: 16 años, 10 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!