Ext中跨域更新数据怎么办???!!!

maojunm 2013-09-04 04:38:21
我在main.jsp中采用ext的viewport布局。代码:

var viewport = Ext.create('Ext.container.Viewport', {
layout: 'border',
defaults: {
collapsible: true,
bodyStyle: 'padding: 10px'
},
items: [logoPanel, treePanel, mainPanel, copyrightPanel]
});


通过点击treePanel中的树节点,centerPanel中创建对应的页面。

var treePanel= Ext.create('Ext.tree.Panel', {
title: ‘功能模块’,
displayField: 'name',
region: 'west',
id: 'moduleList',
width: '16%',
autoScroll: true,
store: treeStore,
rootVisible: false,
listeners: {
itemclick: function(view, record, item, index, e, eOpts) {
var data = record.raw.extData;
var global = data.global;
var entry = data.entry;
var title = data.name;
if (entry != null && /^http/.test(entry)) {
var html = "<iframe id='ifm' src='" + entry + "'></iframe>";
updateMainPanel(html, title);
}
}
});
var mainPanel= Ext.create('Ext.panel.Panel', {
title: 'center',
region: 'center',
width: '84%',
bodyCls: 'bg',
autoScroll: true,
html: indexContent() //进入系统主页面
});


mainPanel中使用了iframe。
现在我点击树的模块管理节点。在mainPanel显示模块管理页面,其中有个功能是添加功能模块,成功添加一个功能模块后需要更新treePanel中的树节点。该怎么实现呢?如何得到treePanel啊???
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
未知数 2013-09-05
  • 打赏
  • 举报
回复
直接刷页面吧,绕开跨域限制实现跨域事件非常麻烦, 给window.parent.location重新赋值刷新父页面,跨域赋值location是有效的
maojunm 2013-09-05
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
从iframe中更新父页treepanel?如果是跨域无解 不是可以给treepanel配置id,然后Ext.getCmp('treeid')得到treepanel,然后进行你的操作
是跨域,Ext.getCmp('treeid')得到的是undefined。 应该有人跟我一样碰到这个问题的吧,希望有解决办法啊!!
maojunm 2013-09-05
  • 打赏
  • 举报
回复
引用 3 楼 wzs_xyz 的回复:
直接刷页面吧,绕开跨域限制实现跨域事件非常麻烦, 给window.parent.location重新赋值刷新父页面,跨域赋值location是有效的
非常感谢你,根据你的提示,今天又花了将近一天时间,问题终于解决了!我是这样的: window.top.Ext.getCmp('moduleList').store.reload(); 对于以上两位的提示再次表示感谢、感激啊!!我初学ext,知识不够用。
  • 打赏
  • 举报
回复
从iframe中更新父页treepanel?如果是跨域无解 不是可以给treepanel配置id,然后Ext.getCmp('treeid')得到treepanel,然后进行你的操作

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧