ExtTree.js异步全加载数据出现超时现象解决方案
2016-10-17 15:57
239 查看
Ext Tree 加载超时 Timeout 问题的解决办法
博客分类: ExtJStimeoutextjsext
这几天老板让我将师姐曾经做过的一个预案推荐的功能跑起来,算法我没有深究,功能就是将推荐出来的预案按照树形显示出来,异步加载,点击根节点,才去后台取数据一次性将所有子节点获取,并展开。部署到服务器,页面也能访问,点击根节点,也能执行加载过程,后台运作也正常,但是前台总是超时,根节点停止获取数据,死掉了。
查寻这方面的资料实在是少,因为大部分应用很难遇到这种情况,出现节点很多的,人家都是采取异步加载,点击一个父节点,才展开一个子节点,而这个是全部获取,另外师姐这个时间主要浪费在了预案推荐算法的执行上了,这是大头,具体算法没有研究,暂时提不出优化方案,目前就只是在现有情况下实现解决。
将解决方法提出来,供其他遇到的朋友解决。将页面引用的ext-all.js文件打开,然后定位到requestData部分,如下所示,然后在Ext.Ajax.request中 添加 timeout配置项,设定超时时间,可自定,这里设定为五分钟。然后重新部署,允许,圆满解决。
requestData : function(A, B) {
if (this.fireEvent("beforeload", this, A, B) !== false) {
this.transId = Ext.Ajax.request({
method : this.requestMethod,
url : this.dataUrl || this.url,
success : this.handleResponse,
failure : this.handleFailure,
timeout: this.timeout || 300000,//增加这一行,设置为5分钟
scope : this,
argument : {
callback : B,
node : A
},
params : this.getParams(A)
})
} else {
if (typeof B == "function") {
B()
}
}
当然有的人可能不大喜欢在ext-all.js中做全面修改,也可以这样修改。在页面js中,添加如下代码。
有store的
var connObj = new Ext.data.Connection({
timeout : 120000,
url : ‘/jsp/dataSourceURL’,
method : ‘POST’
});
var dataStore = new Ext.data.Store({
// load using HTTP
proxy : new Ext.data.HttpProxy(connObj),
reader : new Ext.data.JsonReader({
root : ‘rows’,
totalProperty : ‘results’
}, recordFormat)
});
树:
Ext.tree.TreeLoader.override({
requestData : function(node, callback){
if(this.fireEvent("beforeload", this, node, callback) !== false){
this.transId = Ext.Ajax.request({
method:this.requestMethod,
url: this.dataUrl||this.url,
success: this.handleResponse,
failure: this.handleFailure,
timeout: this.timeout || 30000,
scope: this,
argument: {callback: callback, node: node},
params: this.getParams(node) }else{
// if the load is cancelled, make sure we notify
// the node that we are done
if(typeof callback == "function"){
callback(); } });
form :
basicForm :timeout 属性设置
相关文章推荐
- FlashFXP出现“数据Socket错误,连接超时”解决方案
- sql2005数据库,在新增或更新数据时出现超时现象
- FlashFXP出现“数据Socket错误,连接超时”解决方案
- Android编程中利用AudioTrack播放PCM数据在音频的最后出现重复回声现象的解决方案
- ajax 技术同时加载多个结果集并赋于同一控件上解决数据冲突出现错乱现象方法
- 邮箱应用:在如QQ邮箱预进行发信时,正文出现“数据正在加载……”
- 在SQL Server 2005(2008)中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- DevExpress的GridControl的实时加载数据解决方案(取代分页)
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- 向SQL Server2005中导入数据出现“SQL 错误描述为: 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据”解决方案
- mysql写入数据库后,数据出现乱码问题的解决方案
- store读取数据超时解决方案
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组
- Vista 下使用Visual Studio 2005 开发Oracle 方面程序出现的数据连结问题及解决方案
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
- 数据库导入excel数据出现问题解决方案
- JSP数据流向Flex出现乱码的解决方案
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案!!!!
- 在使用ext2.0中使用store加载数据出现this.onMetaChange has no properties错误
- Flex用HTTPService时加载xml或其它数据不自动刷新问题的解决方案