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

heredar de ActiveXObject("Microsoft.XMLHTTP")

Estas en el tema de heredar de ActiveXObject("Microsoft.XMLHTTP") en el foro de Frameworks JS en Foros del Web. No se bien como explicarme. vamos a ver si puedo hacerme entender. tal vez la pregunta vaya en js o dhtml. quiero hacer una clase ...
  #1 (permalink)  
Antiguo 24/10/2010, 08:30
 
Fecha de Ingreso: agosto-2010
Ubicación: Montevideo
Mensajes: 107
Antigüedad: 13 años, 8 meses
Puntos: 3
heredar de ActiveXObject("Microsoft.XMLHTTP")

No se bien como explicarme. vamos a ver si puedo hacerme entender. tal vez la pregunta vaya en js o dhtml.

quiero hacer una clase para encapsular la conexión con ajax, la idea es evitar crar el objeto ajax en una variable global, y que esto me permita crear varias instancias de conexión a sincrónica.

Luego de varias pruebas llegue a la conclusión que añadiendo un par de propiedades al objeto ajax solucionaría mi problema.

El problema es que esto me funciona divino en firefox. Pero en IE nada.

Código Javascript:
Ver original
  1. function crearXMLHttpRequest() {
  2.    
  3.     var xmlHttp=null;
  4.     if (window.ActiveXObject) {
  5.        
  6.                 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  7.  
  8.     } else {
  9.         if (window.XMLHttpRequest) {
  10.             XMLHttpRequest.prototype.nueva_propiedad = "hola";// hereda propiedad en firefox
  11.             xmlHttp = new XMLHttpRequest();
  12.         }
  13.     }
  14.  
  15.   return xmlHttp;

La pregunta es ¿Puedo heredar de ActiveXObject("Microsoft.XMLHTTP")?
  #2 (permalink)  
Antiguo 26/10/2010, 05:42
 
Fecha de Ingreso: agosto-2010
Ubicación: Montevideo
Mensajes: 107
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: heredar de ActiveXObject("Microsoft.XMLHTTP")

No me explique bien.....

funcion donde tengo el problema:

Código Javascript:
Ver original
  1. fun_procesarEventos { // se ejecuta con onreadystatechange
  2.    
  3.  alert(this.metodo + "   " + this.url); muestra: undefined undefined
  4.  
  5. }

cosntructo de clase

Código Javascript:
Ver original
  1. function conexion (Aux_url, Aux_metodo ) {
  2.    
  3. // Propiedades
  4.     this.url= Aux_url;  // URL donde hacer la consulta
  5.     this.metodo=Aux_metodo; // metodo de comunicacion GET o POST
  6.  
  7.  
  8.    
  9.     this.conexion=false;
  10.  
  11.  
  12. // Metodos ------------------------------  
  13.    
  14.     this.procesarEventos=fun_procesarEventos ;
  15.  
  16. }

Ejecución:

Código Javascript:
Ver original
  1. this.conexion=crearXMLHttpRequest(); // funcion que crea el objeto para ff o ie
  2.  
  3.   this.conexion.onreadystatechange = this.procesarEventos; //  ** acá esta el problema ** le explico al final
  4.  
  5.   this.conexion.open(this.metodo, this.url, true);
  6.  
  7.   this.conexion.send(null);
  8.  
  9.  
  10. alert(this.metodo + "   " + this.url);   // muestra:  GET  prueba.php  / / Este alert funciona perfecto acá

el problema es cuando se ejecuta onreadystatechange. como el metodo this.procesarEventos en esa función no se ven las propiedades de la clase cuando se ejecuta:

this.conexion.onreadystatechange = this.procesarEventos; // ** acá esta el problema ** le explico al final


Que es lógico, pero no se como resolverlo. "Sin usar variables globales"
  #3 (permalink)  
Antiguo 26/10/2010, 05:48
 
Fecha de Ingreso: agosto-2010
Ubicación: Montevideo
Mensajes: 107
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: heredar de ActiveXObject("Microsoft.XMLHTTP")

1234567890

Última edición por francap; 28/10/2010 a las 10:43 Razón: Sin respuesta

Etiquetas: ajax, heredar
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 05:21.