Проблема ответа AJAX - PullRequest
0 голосов
/ 07 июля 2011

У меня есть эта функция:

function Ajax() {
    var xmlhttp, onready, open, response;

    if(window.XMLHttpRequest) {
        this.xmlhttp = new XMLHttpRequest();
    } else {
        this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    this.onready = function(onready) {
        this.xmlhttp.onreadystatechange = function() {
            if ( this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200) {
                onready.call();
            }
        }
    };

    this.open = function(_filename, _method) {
        this.xmlhttp.open(_method, _filename, true);
        this.xmlhttp.send(null);
    };

    this.response = function() {
        return this.xmlhttp.responseText;
    };
}


function rc() {
    var ajax = new Ajax();

    ajax.onready(function() {
        document.getElementById("comments").innerHTML = ajax.response();
    });

    ajax.open("ab.php","GET");
}

rc();

И запрос отправлен нормально, но я не могу извлечь ответ.

  • Это показывает, что readyState не 'не существует в объекте xmlhttp.

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

Когда я запускаю ваш код, я получаю "this.xmlhttp не определено" для строки:

if ( this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200) 

Вы уже находитесь внутри объекта xmlhttp.Строка должна быть:

if ( this.readyState == 4 && this.status == 200) 

Это должно исправить ошибку.

0 голосов
/ 07 июля 2011

Это может быть ошибка в Firebug, согласно этой дискуссии .

Какую версию firebug вы используете?

Можете ли вы попробовать

  • Обновление Firebug
  • Попытка сделать то же самое с другим браузером?В наши дни почти все браузеры имеют консоль разработчика.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...