我正在尝试覆盖Documentum xCP
应用程序中的ajax超时。
Ext.Ajax.setTimeout(120000)
和Ext.override(Ext.data.proxy.Ajax, { timeout:120000 })
没有帮助。每次创建Ext.data.proxy.Ajax实例时,它都有timeout: 30000
。也许它在我打电话后还原,但我不知道该怎么检查。
使用Ext.override
我可以在Ext.data.proxy.Ajax
原型中创建新属性,但现有属性不会更改。
我在Chrome
中调试我的应用程序并使用app url中的special参数加载ext-all脚本的调试版本。
UPD: 如果我打电话
Ext.override(Ext.data.proxy.Ajax, { timeout:120004 })`
只有一次,然后
Ext.data.proxy.Ajax.prototype.getConfigurator().values["timeout"]==120004
Ext.data.proxy.Ajax.prototype.timeout==30000
值30000
用于Ext.data.proxy.Ajax.doRequest()
。
如果我再打电话:
Ext.override(Ext.data.proxy.Ajax, { timeout:120005 })`
然后
Ext.data.proxy.Ajax.prototype.getConfigurator().values["timeout"]==120004
Ext.data.proxy.Ajax.prototype.timeout==120005
答案 0 :(得分:0)
我不熟悉Documentum xCP
,但在使用Ext.js(v.4.1)的Web应用程序中,我使用以下代码段来更改一般超时:
Ext.onReady(function(){
Ext.Ajax.timeout = 150000;
});
也许onReady事件是关键。
答案 1 :(得分:0)
如果要覆盖代理默认值,请使用:
Ext.define(null, {
override: 'Ext.data.proxy.Server',
config: {
timeout: 120000
}
});
答案 2 :(得分:0)
如果要覆盖代理默认值。将此课程置于 app / overrides 文件夹下。
Ext.define('Ext.overrides.data.proxy.Proxy', {
override: 'Ext.data.proxy.Proxy',
timeout: 10000,
completeOperation: function(operation) {
try {
this.callParent(operation);
} catch (e) {
}
}
});
或者添加您的视图模型,如下所示 Ext.define('Model',{ extend:'Ext.app.ViewModel', 别名:..
stores: {
xstore: {
model: 'type'
proxy: {
type: 'ajax',
timeout: 90000, // increasing time.
url: url
}
}
}
});