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

AJAX en Firefox

Estas en el tema de AJAX en Firefox en el foro de Frameworks JS en Foros del Web. Hola, tengo una aplicacion echa en ASP donde se valida a usuarios usando AJAX. En Internet Explorer funciona perfecto, en Opera y Nescape tambien, pero ...
  #1 (permalink)  
Antiguo 28/03/2006, 11:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 189
Antigüedad: 20 años, 6 meses
Puntos: 1
no funciona AJAX en Firefox

Hola, tengo una aplicacion echa en ASP donde se valida a usuarios usando AJAX. En Internet Explorer funciona perfecto, en Opera y Nescape tambien, pero en Firefox no hay forma, ni siquiera error de Javascript me da.
Si alguine sabe si hay q retocar el codigo para q funcione en Firefox, favor de explicarme. Gracias.

PD: el AJAX me devuelve un XML
PD2: muy bueno el editor de texto de esta pagina, alguine sabe donde conseguirlo?

Última edición por sanref; 30/03/2006 a las 13:33
  #2 (permalink)  
Antiguo 28/03/2006, 17:08
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 20 años
Puntos: 43
Lo mejor sería para que te podamos ayudar en tu problema que postearas tu código para ver la solución con más claridad.

Un saludo y suerte!
  #3 (permalink)  
Antiguo 29/03/2006, 13:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 189
Antigüedad: 20 años, 6 meses
Puntos: 1
ahi va....

Me deberia devolver un xml simple con un valor, con el cual yo se si el eusuario es valido o no. No funciona en Firefox, en todos los demas anda perfecto.

ahi va el codigo

Código:
function nuevoAjax(){
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 cargarContenido(){
	var t1, t2, res, funcion, valor;
	ajax = nuevoAjax();
	ajax.open("POST", "verificar_usuario.asp",false);
	//hasta aqui llega, despues no sigue mas
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			res  = ajax.responseXML.documentElement;
			funcion = res.getElementsByTagName('funcion')[0].firstChild.data;
			valor = res.getElementsByTagName('valor')[0].firstChild.data;
			
		             eval(funcion + '(valor)');
		}
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("usuario=" + document.form1.usuario.value + "&pass=" + document.form1.pass.value + "&campus=" + document.form1.campus.value);
}
window.onload= function(){cargarContenido()}

Saludos y gracias a los q se interesan....
  #4 (permalink)  
Antiguo 03/04/2006, 21:54
 
Fecha de Ingreso: abril-2006
Mensajes: 1
Antigüedad: 18 años, 8 meses
Puntos: 0
Es claro tu problema la instanciacion de contoles activex no forma parte de la W3C por lo tanto firefox no lo va a ejecutar. Firefox no puede ejecutar controles ActiveX ya que es un navegador standard.

Tienes que poner mucah atencion cuando programes en web porque es una mala practica programar para un solo navegador.

PD
Siempre preba con IExplorer, Firefox y Opera, Netscape ya no es opcion de prueba seun la SEI.
  #5 (permalink)  
Antiguo 10/04/2006, 11:46
 
Fecha de Ingreso: mayo-2004
Mensajes: 189
Antigüedad: 20 años, 6 meses
Puntos: 1
estuve averiguando y la funcion para crear el AJAX (nuevoajax()) esta perfecta, deberia funcionar para todos los navegadores. No se que le pasa a Firefox, porq no me kiere funcionar....
  #6 (permalink)  
Antiguo 03/08/2006, 20:50
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años
Puntos: 16
y si cambias:
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

por esto
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP");

Funcionara?

ups, eso es ASP
  #7 (permalink)  
Antiguo 03/08/2006, 20:52
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años
Puntos: 16
perdon, eso era ASP quizas mas bien sea algo asi:

if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
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 00:58.