1

Jqueryで独自のバージョンのajaxメソッドを作成して、それがどのように機能するかを確認しようとしています。

function ajax(url, method) {
    var self = this;
    this.xhr = new XMLHttpRequest();
    this.xhr.onreadystate = function() {
        self.xhrHandler();
    }
    this.xhr.open(method, url, true);
    this.xhr.send();
}

ajax.prototype.xhrHandler = function() {
    if (this.xhr.readyState == 4) {
        console.log(this.xhr.responseText);
    }
    console.log("test");
}

ただし、「test」を出力することはないため、xhrHandler関数には入りません。何が起こっている?

編集:使用例は次のとおりです。var ex = new ajax("www.fake.com/api/item/1/", "GET");

4

1 に答える 1

3

ハンドラーはonreadystatechange、だけでなく、と呼ばれonreadystateます。

そして(これが詳細です)、もテストする必要がありますstatus

于 2012-05-31T17:10:10.300 に答える