我具有如示出爲具有兩個方法的對象:傳遞一個oject的方法AJAX - JavaScript的唯一
function PendingRequests(){
this.count;
this.id = [];
this.event = [];
}
PendingRequests.prototype.get = function(){
var request_parameter = 'cont=pr';
Ajax(url,request_parameter,this.get2);
}
PendingRequests.prototype.get2 = function(pr){
this.count = pr.length;
for(var i=0;i<this.count;i++){
this.id[i] = pr[i]['id'];
this.event[i] = pr[i]['event'];
}
}
var pendingrequests = new PendingRequests();
和AJAX功能
Ajax(url,parameter,funct){...}
其中得到一個響應之後調用傳遞函數
funct(JSON.parse(XMLHttpRequestObject.responseText));
腳本執行直到調用該方法後的Ajax響應,但後來我得到一個錯誤,「this.id是undefined」
請幫助這一點。
你只是傳遞了一個函數的引用(剛好在原型鏈上,但是當你只是引用它時沒有意義),而不是在其原型中包含的pendingrequests對象。 – Ian
你可能不想要這個,但是如果你知道這將是你的結構(例如,'Ajax'將總是隻處理一個'PendingRequests'對象),你可能想要傳遞'this'而不是'this.get2 ',然後在你的'Ajax'方法中,調用'funct.get2'而不是'funct' – Ian