我有一个要求,在窗口关闭时,我已向服务器发送请求以执行一系列操作 为此,我使用ajax请求,并且在此请求成功时,我必须触发关闭此窗口的事件。
以下是代码块:
Ext.Ajax.request({
url: someurl,
headers: { "Accept": "application/json" },
success: function (response, opts) {
var res = Ext.decode(response.responseText)
console.log(res );
if (res == true) {
//An event which closes the current window.
EventBus.fireEvent('closeConfirmationEvent', { result: true });
}
},
failure: function (response, opts) {
console.log("failure");
}
});
这里的问题是一旦触发了close事件,我的ajax请求在浏览器中显示为已取消。
我的一个解决方案是在window.setTimeout()
函数中触发关闭窗口事件,使成功块完全执行。
但我希望有一个比这更好的解决方案。谁也可以告诉我为什么会出现这种情况?