ext 例子程序,xml-grid.html ,运行在服务器上时,正常。
某日,单独运行,报错。
---
不知何故?
附上核心的 xml-grid.js
Ext.onReady(function(){    // create the Data Store
    var store = new Ext.data.Store({
        // load using HTTP
        url: 'sheldon.xml',        // the return will be XML, so lets set up a reader
        reader: new Ext.data.XmlReader({
               // records will have an "Item" tag
               record: 'Item',
               id: 'ASIN',
               totalRecords: '@total'
           }, [
               // set up the fields mapping into the xml doc
               // The first needs mapping, the others are very basic
               {name: 'Author', mapping: 'ItemAttributes > Author'},
               'Title', 'Manufacturer', 'ProductGroup'
           ])
    });    // create the grid
    var grid = new Ext.grid.GridPanel({
        store: store,
        columns: [
            {header: "Author", width: 120, dataIndex: 'Author', sortable: true},
            {header: "Title", width: 180, dataIndex: 'Title', sortable: true},
            {header: "Manufacturer", width: 115, dataIndex: 'Manufacturer', sortable: true},
            {header: "Product Group", width: 100, dataIndex: 'ProductGroup', sortable: true}
        ],
        renderTo:'example-grid',
        width:540,
        height:200
    });    store.load();
});

解决方案 »

  1.   

    本地运行就是跨域了,而且如果你不是以http方式去浏览,这个程序还有意义么
      

  2.   

    我不是很明白,本地 和 HTTP方式 的区别。
    仁兄能否,就这个程序,给我解释下。
    程序要从 xml 文件中加载数据,这个过程需要用到什么,需要什么支持,也不知道怎么说,tomcat到底提供了什么,浏览器不能提供这些吗? 
    请大虾给解解惑,谢谢了!
      

  3.   

    sheldon.xml这个xml文件,你的项目中有么?
      

  4.   

    你说的服务器应该是提供学习样例的网站吧,别人服务器上显然有这个文件,你把代码copy过来但是没有这个xml文件当然会出错,不是放你那儿就不行了,只是你缺少那个文件
      

  5.   

    不是,javascript跨域涉及安全问题,浏览器不让你执行,具体你自己搜索吧。
    把数据读出来就是走一个http协议而已,然后读出来的数据怎么解释就是程序的问题了
    tomcat管的是服务器那边,跟js无关,网站是用iis、 apache、 tomcat还是jboss,js都不需要修改,但是客户用chrome 、ff 还是 ie就可能差很远了。