我正在尝试在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");
}
它永远不会进入xhrHandler函数,因为它永远不会打印出“test”。发生了什么事?
编辑:以下是一个使用示例:var ex = new ajax("www.fake.com/api/item/1/", "GET");
答案 0 :(得分:3)
处理程序名为onreadystatechange
,而不仅仅是onreadystate
。
而且(这是一个细节),您还应该测试status
。