XMLHttpRequest не работает - PullRequest
       3

XMLHttpRequest не работает

0 голосов
/ 05 февраля 2012

Следующий код, который я использую для динамического обновления элемента TextArea в моем HTML каждые 2 секунды без перезагрузки страницы.Однако alert(request.readystate) возвращает неопределенное значение вместо числа 1-4.Когда я пытался if(request) alert("Request object"), он предупреждает пользователя «Объект запроса», как и ожидалось.Я понятия не имею, почему это не работает, и я пытался выяснить это часами!

Мой код:

<script type="text/javascript">

    function init(){
      var url="http://www.suchandsuch.net/ChatBowl/text.txt";
      var request= new XMLHttpRequest();
      request.open("POST",url,true);
      alert(request.readystate);
      request.onload= function(){
        if (request.readystate ==4 && request.status == 200){
          document.getElementById('textarea').innerHTML=request.responseText;
        }  
      }
        request.send(null);

     }


    var int=self. setInterval('init()', 2000);

  </script> 

Я признателен за любую помощь.

Ответы [ 2 ]

3 голосов
/ 05 февраля 2012

JavaScript чувствителен к регистру, и вы ввели readyState неправильно:

readyState не readystate

MSDN документы

И функция обратного вызова должна быть назначена на onreadystatechange:

var url="http://www.suchandsuch.net/ChatBowl/text.txt";
var request= new XMLHttpRequest();
request.onreadystatechange = function(){
    alert(request.readyState + " " + request.status);
    if (request.readyState ==4 && request.status == 200)
          document.getElementById('textarea').innerHTML=request.responseText;
    };

request.open("POST", url, true);
alert(request.readyState);  

request.send ();

0 голосов
/ 05 февраля 2012

возможно вместо

request.onload= function(){

попробовать

request.onreadystatechange = function(){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...