-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