这几天老板让我将师姐曾经做过的一个预案推荐的功能跑起来,算法我没有深究,功能就是将推荐出来的预案按照树形显示出来,异步加载,点击根节点,才去后台取数据一次性将所有子节点获取,并展开。部署到服务器,页面也能访问,点击根节点,也能执行加载过程,后台运作也正常,但是前台总是超时,根节点停止获取数据,死掉了。
查寻这方面的资料实在是少,因为大部分应用很难遇到这种情况,出现节点很多的,人家都是采取异步加载,点击一个父节点,才展开一个子节点,而这个是全部获取,另外师姐这个时间主要浪费在了预案推荐算法的执行上了,这是大头,具体算法没有研究,暂时提不出优化方案,目前就只是在现有情况下实现解决。
将解决方法提出来,供其他遇到的朋友解决。将页面引用的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,
- 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 属性设置
分享到:
相关推荐
Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载
EXT Tree提供了丰富的功能,包括节点的动态加载、拖放操作、节点选择以及自定义图标和样式。 在EXT Tree的使用实例中,我们通常会涉及到以下几个关键知识点: 1. **配置项与属性**:EXT Tree允许通过配置项定制其...
在本文中,我们将深入探讨如何使用Ext JS的Tree Panel与JSON数据进行动态加载,并实现多选和单选功能。Ext JS是一种强大的JavaScript库,用于构建富客户端应用,而Tree Panel则是展示层次结构数据的一种组件。在后台...
【标题】"ext TREE"指的是在软件开发领域中,尤其是Java Web开发中,EXT JS库中的Tree组件。EXT JS是一个强大的JavaScript用户界面库,用于构建富客户端应用。Tree组件是EXT JS中的一个重要部分,它允许开发者创建可...
Ext Tree 是 Ext JS 库中的一个组件,它用于在用户界面上展示层次化的数据结构,类似于文件系统的目录结构。在给定的资源中,我们有多个 HTML 文件(tree2.html, tres.html, s1.html, tree.html)和 JavaScript 文件...
标题中的"oa.rar_ext_ext java oa_ext oa_ext tree_java ext tree"似乎是一个组合字符串,它可能代表了某个项目或教程的文件结构。其中,“oa”可能是项目或系统的名称,而“ext”、“java”、“oa_ext”、“tree_...
通过阅读和分析这个文件,可以深入理解 EXT Tree 的工作原理和使用方法。 7. **博客链接**:提供的博客链接 "https://zhengkaifl.iteye.com/blog/841338" 可能包含了作者关于 EXT Tree 的详细讲解和示例代码,建议...
### Ext.ux.tree.TreeGrid 异步加载知识点详解 #### 一、Ext.ux.tree.TreeGrid简介 在ExtJS框架中,`Ext.ux.tree.TreeGrid`组件是一种结合了树形结构与表格显示特性的控件,适用于展示具有层级关系的数据。通过...
ExtTree是Ext JS库中的一个组件,用于创建和展示树形结构的数据。它在Web应用程序中广泛使用,特别是在需要组织和导航层次结构信息时。在本案例中,“extTree例子点击出现界面”指的是用户在浏览ExtTree时,通过点击...
这段代码告诉EXT JS,当我们加载树形数据时,每个节点都应使用`Ext.tree.TreeCheckNodeUI`来渲染,这样每个节点都会有一个与之关联的复选框。 `TreeCheckNodeUI`类提供了以下关键特性: 1. **复选框渲染**:在每个...
`Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,非常适合于在服务器和客户端之间传输数据。我们将通过实例...
博文链接中提到的是ITEYE博客的一篇文章,可能详细讲解了EXT Tree的使用方法和示例代码,建议查阅该文章以获取更具体的操作步骤和实践案例。 EXT Tree的源码分析可以帮助开发者深入理解其内部工作原理,例如节点的...
在EXT JS框架中,"ext tree 分页"是一种优化技术,用于处理大量数据时避免页面卡顿的问题。在EXT JS的树形组件(TreePanel)中,如果一次性加载所有节点,特别是当树结构非常深或者节点数量巨大时,不仅会消耗大量...
在EXT JS框架中,"ext grid tree 应用"是一个常见的功能组合,它结合了Grid面板和Tree面板的优势,用于展示复杂的数据结构。Grid通常用于显示二维表格数据,而Tree则用于展示层次化的数据。在这个例子中,开发者通过...
6. **数据加载与渲染**:EXT JS的Tree组件通常与后端服务进行交互,通过`store`加载树数据。在`TreeCheckNode.js`中,我们可能会看到如何定义`store`以及如何将JSON数据转化为Tree节点的数据模型。 综上所述,"Ext ...
总之,这个动态加载Ext.tree的JSON数据工具类是解决前端与后端数据交互问题的一个实用方案,通过合理的编程技巧,可以实现高效、流畅的用户体验。在开发过程中,理解并掌握这种数据加载机制对于提升Web应用性能至关...
总之,解决Ext的gridpanel控件二次加载时丢失的问题需要对Ext JS的生命周期管理有深入的理解,并结合实际应用场景选择合适的策略。无论是使用全局变量还是优化加载机制,关键在于确保GridPanel实例和数据的正确管理...
在IT行业中,异步加载是一种优化用户体验的...总的来说,"ext 异步加载树完整版"涉及的是EXT JS框架中Tree Panel的异步数据加载机制,这是构建大规模数据树形结构时非常实用的技术,能够提升用户体验并优化资源使用。
Ext Tree JSON Demo是一个基于ExtJS库实现的异步加载树形结构的示例项目。ExtJS是一个强大的JavaScript UI框架,广泛用于构建富客户端应用程序。在本项目中,它被用来展示如何利用JSON数据来动态加载树节点,提高...
`Ext.Tree.Panel`是EXT JS库中的一个重要组件,用于展示层次结构的数据,通常用作树形菜单或文件系统目录的视图。这个组件是EXT JS框架中用于创建交互式、可扩展的树结构的工具。以下是对`Ext.Tree.Panel`相关知识的...