Бочонок
http://frontender.info
Еще раз об ajax. Проблема с readyState и классом.
Доброго времени суток.
Возникла следующая проблема:
Есть класс, занимающийся передачей и получением информации использующий AJAX технологию.
И все хорошо, только одна проблема.
Функция изменения стостояния вызывается в нормальном порядке.
Но как в функции state_listener получить exchanger.connector.readyState ?
Передать ссылку на обьект в параметрах не получится.
this тоже указывает явно куда то не туда...
Помогите разобратся - откуда в таком случае readyState брать ?
Доброго времени суток.
Возникла следующая проблема:
Есть класс, занимающийся передачей и получением информации использующий AJAX технологию.
И все хорошо, только одна проблема.
Функция изменения стостояния вызывается в нормальном порядке.
Но как в функции state_listener получить exchanger.connector.readyState ?
Передать ссылку на обьект в параметрах не получится.
this тоже указывает явно куда то не туда...
Помогите разобратся - откуда в таком случае readyState брать ?
PHP:
function ajax(){
this.init = function(){
if(window.XMLHttpRequest){
try{
this.connector = new XMLHttpRequest;
}catch(error){
alert(error);
return;
}
}else if(window.ActiveXObject){
try{
this.connector = new ActiveXObject("Msxml2.XMLHTTP");
}catch(error){
alert(error);
return;
}
}
}
this.send = function(){
this.connector.open('GET','\example.xml');
this.connector.send(null);
this.connector.onreadystatechange = state_listener;
}
state_listener = function(){
alert(this.readyState); // undefined
// Подскажите пожалуста, гле потерялся readyState ?
switch(this.readyState){
case 4:
alert('Completed');
if (connector.status == 200){
alert(this.responseXML.toString());
}
this.init();
break;
}
}
}
var exchanger = new ajax();
exchanger.init();
exchanger.send();