extjs的grid在firefox中不显示xml数据

changbird 2009-08-06 12:56:50
仿照官网3.0中的一个例子写了一个简单的程序,在IE中正常运行和显示,在FF3.5.2中不显示数据仅显示界面外观。调用FireBug监视运行过程发现好像根本没发出ajax请求,但不报任何js错。

代码如下:

function createXMLGrid(){

var xmlReader = new Ext.data.XmlReader(
{
record:'Item',
id:'ASIN',
totalRecords:'@total'
},
[
{name:'Author',mapping:'ItemAttributes > Author'},
'Title', 'Manufacturer', 'ProductGroup'
]
);

var store = new Ext.data.Store({
url:'http://extjs.com/deploy/dev/examples/grid/sheldon.xml',
reader:xmlReader
});


var grid = new Ext.grid.GridPanel({
store:store,
columns:[
{header:'作者',dataIndex:'Author'},
{id:'Title',header:'标题',dataIndex:'Title'},
{header:'生产商',dataIndex:'Manufacturer'},
{header:'作品分类',dataIndex:'ProductGroup'}
],
loadMask:true,
autoExpandColumn:'Title',
width:600,
height:450,
renderTo:'content0',
title:'测试XML型grid'
});
store.load();
}

难道是3.0的bug? 但是我看官网上的那个xml数据源的例子正常啊。

我就是在本地 D:\test目录下建立了一个text.html文件,然后用FF直接浏览运行的

(浏览器地址栏:file:///D:/test/extjs/test.html)。

我查过相关资料,发现有的人说“注意,读取XML数据必须在服务器上进行。” 不太明白这句话的含义。

还望高手指教。
...全文
320 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
YHL27 2010-12-23
  • 打赏
  • 举报
回复
rt!
changbird 2009-08-07
  • 打赏
  • 举报
回复
首先感谢楼上各位的提示。

但是有个问题大家都没看清楚,就是:这程序不做任何更改的情况下,在IE7、IE8中是正常的,能显示数据。但是在FF中就没数据。

现在想到唯一的解释就是FF内部有安全机制,不让浏览器在浏览本地html页面的时候请求远程的任何连接,这样保证安全。

另:我将xml保存到本地,url改写成“url:'sheldon.xml'”,FF中还是不显示数据。
Go 旅城通票 2009-08-07
  • 打赏
  • 举报
回复
'http://extjs.com/deploy/dev/examples/grid/sheldon.xml'
跨域了


用代理页面来抓取上面的xml内容,并且注意要通过服务器来浏览

或者你把extjs站点上的xml文件另存到你电脑上,然后请求你电脑上的xml文件


AJAX跨域问题解决办法
tobyzhou 2009-08-07
  • 打赏
  • 举报
回复
注意,读取XML数据必须在服务器上进行。
没有WEB服务器,而直接查看,是无法得到你想要的结果的。
floger 2009-08-06
  • 打赏
  • 举报
回复
这个就是说你的要读取XML的文件内的数据必须通过象IIS或者tomcat这样应用服务器去执行程序才可以。

52,797

社区成员

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

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