-1
我有一個JS模塊和兩個功能。第一個函數應該執行ajax請求並調用模塊的第二個函數。所以我設置了context=this
。jQuery的成功數據是未定義的(與上下文:這)
return BaseController.extend(...) {
...
loadChart: function() {
...
$.ajax({
url:...,
data:....,
async: false,
context: this,
success: function(data) {
try {
for (var i = 0; i < data.d.length; i++) {
// do something with data
}
this.function2();
} catch() {
....
}
}
});
},
function2: function() {
// do something...
}
}
的function2
呼叫工作正常,但data
是不確定的。爲什麼? 如果我刪除了context
聲明,我的data
已定義,但我不能撥打function2
...因此,哪裏做錯了?謝謝。 我想我不太明白範圍尚未...
恕我直言,這一定是觀測誤差。設置'context'選項對傳遞給'success'函數的內容沒有任何影響。 –
嘗試在代碼的不同部分放置一些console.log(this),你應該能夠調試。 –
@FreemanLambda:我有。如上所述,只要我使用'context:this',我就不能使用數據對象。我不知道它是否與「openUI5」框架有關...... – Tobias