您的位置:首页 > 其它

Ext.data.XmlReader读取外部文件时提示拒绝访问

2013-10-29 10:39 302 查看
异常提示:

ext-base.js拒绝访问



解决方案:

ext-base.js拒绝访问的异常,往往就是在静态html页面(使用extjs做原型设计很多都是先用html做页面的,而不是jsp)中使用了类似:dataUrl:'./js/data1.txt'   等的异步获取本地资源造成的!

ExtJs中看到 dataUrl  url  ----- 都是通过ajax异步获取服务器资源

一旦涉及到ajax就需要配合服务器,ajax是无法从本地文件系统直接取得数据的。

解决方案:

1. 部署页面到apache或tomcat服务器上,重新测试;

2. 直接在js页面定义array数组,而不是引用本地文件,无需服务器就可以直接查看效果;

 =================================================================================

示例:

a. 通过服务器读取服务器文件(通过服务器路径访问)

Ext.onReady(function(){

 // 普通静态树

 //创建Tree面板

 var mytree=new Ext.tree.TreePanel({

  el:'treeDiv',  // 指定添加到的div

  rootVisible:false,//是否显示根节点

  loader:new Ext.tree.TreeLoader({ // 一旦涉及到ajax就需要配合服务器了,ajax是无法从本地文件系统直接取得数据的

   dataUrl:'./js/data1.txt'

  })

 });

 

 //创建根节点  

 var root = new Ext.tree.AsyncTreeNode({

  text:'gen',

  id:'root'

 });

 

 mytree.setRootNode(root); 

 //使这棵树显示在div标签中  

 mytree.render();

 mytree.expand();

});

服务器文件data1.txt:

[{id:'1',text:'省份',leaf:false,children:[

 {id:'2',text:'河南省',leaf:false,children:[

  {id:'4',text:'南阳市',leaf:true},

  {id:'5',text:'郑州市',leaf:true}]

 },

 {id:'3',text:'安徽省',leaf:false,children:[

  {id:'6',text:'合肥市',leaf:true},

  {id:'7',text:'蚌埠',leaf:true}]

 }

  ]

 }]

b. 读取js内自定义的数据(直接打开本地html就可以查看效果)

Ext.onReady(function(){

 // 普通静态树

 //创建Tree面板

 var mytree=new Ext.tree.TreePanel({

  el:'treeDiv',  // 指定添加到的div

  rootVisible:false,//是否显示根节点

  loader:new Ext.tree.TreeLoader()

 });

 

 //创建根节点   

 var root = new Ext.tree.AsyncTreeNode({

  text:'gen',

  id:'root',

  children:[{id:'1',text:'省份',leaf:false,children:[{id:'2',text:'河南省',leaf:false,children:[{id:'4',text:'南阳市',leaf:true},{id:'5',text:'郑州市',leaf:true}]},{id:'3',text:'安徽省',leaf:false,children:[{id:'6',text:'合肥市',leaf:true},{id:'7',text:'蚌埠',leaf:true}]}]}]

 });

 

 mytree.setRootNode(root);  

 //使这棵树显示在div标签中   

 mytree.render();

 mytree.expand();

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: