XMLHttpRequest всегда получает пустой ответ, в то время как прямое пингование того же URL через браузер дает правильный ответ - PullRequest
0 голосов
/ 31 марта 2011

Вот мой фрагмент JavaScript:

    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
      if (this.readyState == 4) {
        if (this.status == 200) {
          ...
        } 
      }
    }
    var url = 'http://localhost:3000/questions/1';
    xhr.open('GET', url, true);
    xhr.send();

this.status всегда равно 0, а this.responseText всегда ""

Если я пингую URL 'http://localhost:3000/questions/1' прямо из браузера, я получаю верный html обратно.

К вашему сведению, я пингую сервер рельсов, который запущен на моей машине.

1 Ответ

0 голосов
/ 31 марта 2011

Я бы попробовал заменить this на xhr в вашем коде. Объявление функции сохранит переменную xhr через замыкание. Я не уверен, что будет this, когда функция будет вызвана обратно.

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