Показать сообщение отдельно
  #1 (permalink)  
Старый 19.02.2012, 14:21
Интересующийся
Отправить личное сообщение для kent666 Посмотреть профиль Найти все сообщения от kent666
 
Регистрация: 19.04.2011
Сообщений: 27

Цикличекая отравка данных АЯКС
Всем привет.
Мне нужно заставить АЯКС работать в цикле. Т.Е. есть парсер который лежит на сервере.
Браузер посылает запрос при помощи АЯКС
1) отправка
2) прием полученного ответа от сервера (может занимать 4 с)
3) проверка значения, если все ок заново отправка!

Есть JS скрипт
<html>
<head>
<title>Парсер</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript" language="javascript">

var parsing = {
    from:0,
    to:0,
    number:0,
    req: function(){
        if(navigator.appName == "Microsoft Internet Explorer")
        {  
            return new ActiveXObject("Microsoft.XMLHTTP");  
        }
        else
        {  
            return new XMLHttpRequest();  
        }
    },
}

parsing.Request = function(query){
   
    this.req.open('post', 'parsing.php' , true );
    this.req.onreadystatechange = this.Refresh;
    this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
    this.req.send(query); 
}

parsing.Refresh = function(){

    var a = this.req.readyState;  
    if( a == 4 )
    {
        var b = this.req.responseText;
        var c = document.getElementById('ajax').value;
        document.getElementById('ajax').innerHTML = b + <br/> + c;
        this.number++;
        if(this.number < this.to){
            this.Pusk(this.number);
        }
    }
}

parsing.Pusk = function(number){
    var query;  
    query ='value='+encodeURIComponent(number);
    this.Request(query);
    this.Refresh();
}

parsing.start = function(){
    this.from = document.getElementById('from').value - 0;
    this.to = document.getElementById('to').value - 0;
    this.number = this.from;
    this.Pusk(this.number);
}
</script>


</head>
<body>
От <input type='text' id="from"/> до <input type='text' id="to"/>
<input type="button" onClick="parsing.start()" value="старт"/><br />
<div id="ajax"></div>
    
</body>
</html>

но при запуске скрипта выдает ошибку
Код:
this.req.open is not a function
this.req.open('post', 'parsing.php' , true );
Ответить с цитированием