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

Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas dos?

Estas en el tema de Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas dos? en el foro de Frameworks JS en Foros del Web. una es esta: Código: function AJAX2() { var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"]; var ajax = false; for(var i=0 ; !ajax && i<ajaxs.length ; i++){ try{ ...
  #1 (permalink)  
Antiguo 15/01/2008, 21:06
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 18 años, 9 meses
Puntos: 1
Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas dos?

una es esta:

Código:
function AJAX2()
{
var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var ajax = false;
for(var i=0 ; !ajax && i<ajaxs.length ; i++){
try{ ajax = new ActiveXObject(ajaxs); }
catch(e) { ajax = false; }
}
if(!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}

y la otra es:

Código:
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined"){
		xmlhttp=new XMLHttpRequest();
	} 
	return xmlhttp; 
}




Cual conviene mas, osea para que funcione todo en todos los navegadores?


otra cosa, en el primer ejemplo usa un for que la variable de conteo es "i", donde aparece esta dentro del bucle del for? no la veo en ningun lado, nose como se va corriendo el indice del array, como es eso?


Saludos!
__________________
Dios es la unica fuente de todo bien.
  #2 (permalink)  
Antiguo 16/01/2008, 12:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas do

Las dos funcionan correctamente, aunque te recomendaría usar alguna librería como Prototype para manejar la mayor compatibilidad entre browsers..

Saludos.
  #3 (permalink)  
Antiguo 16/01/2008, 14:01
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas do

ejemplo concreto? tiene uqe haber algo en el sitio mmmm
__________________
Dios es la unica fuente de todo bien.
  #4 (permalink)  
Antiguo 16/01/2008, 16:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas do

Ejemplo:
Código:
new Ajax.Request('/some_url',
  {
    method:'get',
    onSuccess: function(transport){
      var response = transport.responseText || "no response text";
      alert("Success! \n\n" + response);
    },
    onFailure: function(){ alert('Something went wrong...') }
  });
Puedes ver mas ejemplos en la pagina de Prototype: http://www.prototypejs.org/learn/introduction-to-ajax

Saludos.
  #5 (permalink)  
Antiguo 18/01/2008, 08:58
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: Funcion para iniciar XMLHttprequest en todo navegador, diferencias entre estas do

Gracias GatorV!
__________________
Dios es la unica fuente de todo bien.
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 21:47.