ですから、Ext.Ajax.request()で何かが足りないのではないかと思います。
だから私は次のことをするコードを持っています:
Ext.Ajax.request({
url : 'myurl',
success : function(){
alert('success 1');
},
callback : function(){
alert('callback');
}
});
その後、次のような別のajax呼び出しを行います。
Ext.Ajax.request({
url : 'myurl',
success : function(){
alert('success 2');
}
});
コールバック関数を定義しない場合でも、最初の呼び出しからの古い関数が設定されたままになります。したがって、実行時に、前に定義した古いコールバック関数を呼び出します。だから私はリスナーを追加します
Ext.Ajax.on('beforerequest', function(c, o, e){
//The options has all my previous options
});
そこで、ここにブレークポイントを設定してオプションを確認しました。2回目の呼び出しまたはその後のその他のajax呼び出しで、コールバックやその他のオプションをemptyFunction()またはその他のリクエスト構成でオーバーライドしない場合は、前の値がそのまま残ります。したがって、2回目の呼び出しで成功関数を再定義しなかった場合、最初の呼び出しの成功関数は引き続き存在します。次の呼び出しで、以前のすべてのオプションをクリアする方法はありますか?新しい呼び出しごとにそれらをクリアすることができました。しかし、呼び出しが無関係である場合、最後の呼び出しからのオプションが残る理由がわかりません。