Ext中跨域更新数据怎么办???!!!
我在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啊??? Ext中跨域更新数据
[解决办法]
从iframe中更新父页treepanel?如果是跨域无解
不是可以给treepanel配置id,然后Ext.getCmp('treeid')得到treepanel,然后进行你的操作
[解决办法]
直接刷页面吧,绕开跨域限制实现跨域事件非常麻烦,
给window.parent.location重新赋值刷新父页面,跨域赋值location是有效的