私はJSモジュールと2つの機能を持っています。最初の関数はajax要求を行い、モジュールの2番目の関数を呼び出す必要があります。したがって、context=this
を設定しました。jQueryの成功データは未定義です(コンテキスト:thisを使用)
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