我正在尝试在执行Ajax请求时避免使用Timeout参数。
在应用程序上,我有一个“发送按钮”,我将信息发送到服务器:
if (Ext.getCmp('bottomPanel').getForm().isValid()) {
mask.show();
Ext.Ajax.request({
url: 'sendInfo.do',
timeout: 30000,
jsonData: {
'businesDateString': businessDate,
'incremental': incremental
},
success: doDwrCallbackForced, //edit: used for Ext.MessageBox.show(message)
failure: failureCallBack //edit: used for Ext.MessageBox.show(error message)
});
但这个过程可能需要2分钟到15/20分钟。我想只调用一次服务器的方法。
有没有办法避免超时(除了超时:1800000, - 30分钟 - 在Ajax.request调用中)?
TaskRunner对象可以用于此任务吗?
提前致谢
答案 0 :(得分:1)
您可以全局覆盖超时设置...
如果不给出在ajax.request函数上不使用超时配置的原因,很难给出正确答案。
Ext.Ajax.timeout = 300000; // 300 seconds
Ext.override(Ext.form.Basic, { timeout: Ext.Ajax.timeout / 1000 });
Ext.override(Ext.data.proxy.Server, { timeout: Ext.Ajax.timeout });
Ext.override(Ext.data.Connection, { timeout: Ext.Ajax.timeout });