ExtJs 4.3 Ajax请求避免超时

时间:2015-11-12 13:12:05

标签: ajax extjs extjs4

我正在尝试在执行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对象可以用于此任务吗?

提前致谢

1 个答案:

答案 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 });