Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

немогу разобраться с ООП в JS

312
15 сентября 2008 года
dead_star
392 / / 26.11.2006
пытаюсь написать класс для AJAX-а
пока безрезультатно
сам класс
Код:
var Ajax = {
 xmlHttp:null,
 method:'GET',
 url:'',
 async:true,
 init:function(url, par){
  alert(this.method);
  this.url = url;
  if (par.method){
   this.method = par.method.toUpperCase();
  }
  var request = '';
  if (par.parameters){
   for (var i in par.parameters){
    prfix = (request!='') ? '&' : '';
    request += prfix+i+'='+par.parameters;
   }
  }
  if (this.method == 'GET'){
   this.url += '?'+request;
  } else {
   this.async = request;
  }
  try {
   this.xmlHttp = new XMLHttpRequest();
  } catch(e){
   var xmlHttpVersions = new Array(
    'MSXML2.XMLHTTP.6.0',
    'MSXML2.XMLHTTP.5.0',
    'MSXML2.XMLHTTP.4.0',
    'MSXML2.XMLHTTP.3.0',
    'MSXML2.XMLHTTP',
    'Microsoft.XMLHTTP'
   );
   for (var i=0; i < xmlHttpVersions.length && !this.xmlHttp; i++){
    try {
     this.xmlHttp = new ActiveXObject(xmlHttpVersions);
    } catch(e){}
   }
  }
  if (this.xmlHttp){
   this.process();
  } else {
   alert('Error: can`t create XMLHttpRequest object.\nPlease install newer version of the browser.');
  }
 },
 process:function(){
  alert(this.xmlHttp);
  if (this.xmlHttp){
   try {
    this.xmlHttp.open(this.method, this.url, true);
    this.xmlHttp.onreadystatechange = this.request;
    this.xmlHttp.send(this.async);
   } catch(e){
    alert('Connection with the server is impossible:\n' + e.toString());
   }
  }
 },
 request:function(){
  alert(this.xmlHttp);
  if (this.xmlHttp.readyState == 4){
   if (this.xmlHttp.status == 200){
    try {/*
     this.XML  = this.xmlHttp.responseXML;
     this.Text = this.xmlHttp.responseText;*/
     this.handler();
    } catch(e){
     alert('Mistake of reading of the answer:\n' + e.toString());
    }
   } else {
    alert('There were problems during data acquisition:\n' + this.xmlHttp.statusText);
   }
  }
 },
 handler:function(){
  alert(this.xmlHttp.responseText);
 }
};
и вызов класса
 
Код:
var req = new Ajax.init('process.php', {parameters:{do:'root'}});

извеняюсь за неособо умный вопрос
но просто я уже замучался с ним и уже незнаю что и делать
312
15 сентября 2008 года
dead_star
392 / / 26.11.2006
все, нашел проблему
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог