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

Extension Firefox y AJAX

Estas en el tema de Extension Firefox y AJAX en el foro de Frameworks JS en Foros del Web. Hola, me llamo Moisés;estoy haciendo una extension para Firefox y además utilizo la tecnologia AJAX Supongamos que tengo una clase nodo implementada en Javascript (he ...
  #1 (permalink)  
Antiguo 14/03/2007, 11:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 1 mes
Puntos: 0
De acuerdo Extension Firefox y AJAX

Hola, me llamo Moisés;estoy haciendo una extension para Firefox y además utilizo la tecnologia AJAX

Supongamos que tengo una clase nodo implementada en Javascript (he reducido la clase para que quede mas claro):

function Nodo() {
this.url = "";
this.xmlhttp = "";

Nodo.prototype.PeticionAJAX = function () {
this.xmlhttp = new XMLHttpRequest();
this.xmlhttp.open("GET", this.url, true);
this.xmlhttp.onreadystatechange = this.HttpRespuesta();
};

Nodo.prototype.HttpRespuesta = function () {
alert(this.xmlhttp.readyState);
};

}

El problema es que la asociación que hago a this.xmlhttp.onreadystatechange no funciona, porque nunca se ejecuta la sentencia alert(this.xmlhttp.readyState); Incluso he intentado poner lo siguiente:

this.xmlhttp.onreadystatechange = function(){this.HttpRespuesta(); }

pero sigue sin funcionar, ¿Donde está el problema?
  #2 (permalink)  
Antiguo 14/03/2007, 11:49
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Extension Firefox y AJAX

Por cierto, para utilizarlo primero creo una instancia de la clase nodo y después llamo a su función:

var nodo_raiz = new Nodo();
nodo_raiz.url="una url cualquiera";
nodo_raiz.PeticionAJAX();
  #3 (permalink)  
Antiguo 15/03/2007, 10:22
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Re: Extension Firefox y AJAX

mira, creo que el problema esta aqui:

Nodo.prototype.PeticionAJAX

estas declarando mal tu funcion, se declara asi:

this.PeticionAJAX = function(){

}

imagino que es eso. si quieres mas información sobre POO en JS, te recomiendo leer este artículo http://pulso.um.edu.mx/~crysfel/web/..._en_JavaScript

have funnnnnnnn
  #4 (permalink)  
Antiguo 16/03/2007, 20:25
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Extension Firefox y AJAX

loading....................

this.xmlhttp.onreadystatechange = this.HttpRespuesta();

al poner esos parentesis asignas a onreadystatechange el RESULTADO de la funcion y non asi LA FUNCION.

tendria que ser:

Código PHP:
this.xmlhttp.onreadystatechange this.HttpRespuesta
algo que tambien me ha funcionado es hacer.

Código PHP:
var oThis=this;
this.xmlhttp.onreadystatechange = function(){oThis.HttpRespuesta();} 
De esta forma no pierdes el objeto.


connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 16/03/2007, 20:29
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Extension Firefox y AJAX

loading..........


Cita:
Iniciado por stock Ver Mensaje
mira, creo que el problema esta aqui:

Nodo.prototype.PeticionAJAX

estas declarando mal tu funcion, se declara asi:

this.PeticionAJAX = function(){

}

imagino que es eso. si quieres mas información sobre POO en JS, te recomiendo leer este artículo http://pulso.um.edu.mx/~crysfel/web/..._en_JavaScript

have funnnnnnnn
Tiene razon, cuando estas dentro de tu OBJETO solo debes hacer

Código PHP:
this.algo=function(){} 
para crear nuevos métodos

y ya fuera de tu objeto usas prototype

Código PHP:
Nodo.prototype.algo=function(){} 
connection closed.
__________________

Maborak Technologies
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 08:15.