看了大多数解决load多次请求的方法基本上都是重构load,稍稍看了一下方法内容,其实也就改了一小段代码:
if (me.clearOnLoad) {
node.removeAll(false);
}将removeAll改为了false,我想了一下,如果我把treeStore的clearOnLoad属性设为false,不就不走这个条件了么,也就不会removeAll节点了。所以试了一下,发现多次请求是不发送了,只发了一次,可是前台却报错了internalId为空或不为对象,让我很奇怪。我什么都没改,只是将属性由默认的true改成了false,为什么会报这个错呢。难道真的只能重构load方法?????
if (me.clearOnLoad) {
node.removeAll(false);
}将removeAll改为了false,我想了一下,如果我把treeStore的clearOnLoad属性设为false,不就不走这个条件了么,也就不会removeAll节点了。所以试了一下,发现多次请求是不发送了,只发了一次,可是前台却报错了internalId为空或不为对象,让我很奇怪。我什么都没改,只是将属性由默认的true改成了false,为什么会报这个错呢。难道真的只能重构load方法?????
解决方案 »
- 没有头绪 document.getElementById报“尚未实现”错误
- 为什么第一次载入网页显示的是 0 ?再次刷新网页才显示正确的像素值
- 求助 如何使tab获得焦点竖直排列
- 如何在一个frame载入的页面中通过select控件的onchange事件来改变另外一个frame载入的页面
- 如何在winxp_sp2下设计打开网页全屏?
- 按钮被我设置成灰色的怎么把它设置成可用的
- 用javascript如何激活指定的窗口
- 100分求<JavaScript权威指南>(在线等)
- 学javascript做的一个网站,希望大家提出宝贵意见.
- js计算年龄并比较大小
- JS修改form.action的问题
- EXTJS GridPanel 拉动横滚动条到最右边,点击行数据出现滚动条回滚到初始位置
load : function(options) {
options = options || {};
options.params = options.params || {}; var me = this, node = options.node || me.tree.getRootNode(), root; // If there is not a node it means the user hasnt defined a rootnode
// yet. In this case lets just
// create one for them.
if (!node) {
node = me.setRootNode( {
expanded : true
});
} if (me.clearOnLoad) {
node.removeAll(false);
} Ext.applyIf(options, {
node : node
});
options.params[me.nodeParam] = node ? node.getId() : 'root'; if (node) {
node.set('loading', true);
}
return me.callParent( [ options ]);
}
});