裏面我有一個對象字面router
,包括Ajax調用。我想在ajax調用中調用其他函數this.printMovies()
,但this
引用ajax對象。使用Javascript - 如何綁定「這」一個AJAX調用該對象字面
我該如何逃避它並使this
參考router
對象本身?
var router = {
//...
init : function() {
this.getData("api/movies", "movies", callback);
},
getData : function (url, htmlType, callback) {
$.ajax({
url: url,
dataType: 'json',
success: function (response) {
if (response && response.length > 0) {
this.printMovies(response, callback); //'this' refers to ajax
this.printMovies(response, callback).bind(this) //still doesn't work
}
},
error: function (response) { console.log("Error:" + response); }
});
},
printMovies : function(){
},
}
嘗試初始化與'$ =此'this' $ .ajax' Ajax調用DEFN之前的變量。併成功地將路由器obj稱爲'$ this' –
工作正常!這是答案! –
@ViolaT它工作,但作爲一個選項ajax方法...使用'上下文' –