Muito obrigado pela atenção bareta e Danilo, muito obrigado mesmo!! bareta no link que você passou eu dei uma olhada mas creio que não resolve meu problema. Danilo, super bem explicado cara, demais, muito obrigado! Mas creio que não fui muito claro, e pra piorar notei que fiz um código errado no exemplo! Deixa tentar explicar melhor: Estou criando uma classe para trabalhar com ajax, a idéia é que nada seja "global", seja tudo dentro da classe, podendo assim ter X conexão ajax ao mesmo tempo, sem nenhuma conflitar com a outra, e de maneira "elegnante" como fica com classes (em JS chamam-se classes mesmo?). A parte do ajax já estou dominando bem, o problema está sendo no onreadystatechange, olha só: this.conexao.onreadystatechange = function(){
if(this.conexao.readyState == 4){
if (this.conexao.status == 200){
this.resposta.call();
}
}
};
Olha só o problema, dentro a função que chamo com o onreadystatechange, não consigo chamar this.resposta por exemplo, porque ele se comporta como se não estivesse dentro da classe.
Então criei uma "ponte", assim:
var ponte = this;
this.conexao.onreadystatechange = function(){
if(ponte.conexao.readyState == 4){
if (ponte.conexao.status == 200){
ponte.resposta.call();
}
}
}; Funcionou, mas achei bem deselegante, não acham? Ao pesquisar, achei no site da SUN algo como this.conexao.onreadystatechange = function(event), mas não funcionou em nenhum navegador, o engraçado é que no site diz que daria certo por alguns motivos meio bizarros que não entendi bem rs Outra coisa, essa var ponte, fica global no JS? Se eu tiver usando duas classes desse meu ajax, uma "ponte" vai interferir na outra? Já tive problemas com onsubmit e onclick outras vezes, e nunca achei uma maneira melhor que essa para resolver. Conhecem? Ou melhor, existe? Mais uma vez muito obrigado pela atenção, valeu mesmo!!! Abraços!