extjs 存储无法从外部源读取XML,但可以在从本地源阅读时执行此操作

gojuced7  于 2023-04-20  发布在  其他
关注(0)|答案(1)|浏览(106)

我需要从位于远程服务器上的数据源读取内容(我没有修改任何内容的权限)。
我试过获取内容,但它不起作用。
然后我下载了这个数据源,它是一个XML文件,并将其与我的代码放在同一个文件夹中,以测试我的代码语法的正确性,并发现代码可以工作。
但是当我改回外部数据资源时,它仍然读取但不返回任何内容:

from: url: 'app/store/configuration.xml'
to:   url: 'http://webtrak.bksv.com/mel/configuration'

这不是由CORS问题引起的,因为我正在真实的设备上测试我的应用程序。
以下是我的商店和模型:

Ext.define('myApp.store.SensorStationStore', {
    extend: 'Ext.data.Store',
    requires: ['myApp.model.SensorStation', 'Ext.data.reader.Xml'],
    config:{
        model: 'myApp.model.SensorStation',
        storeId: 'SensorStore',
        autoLoad: true,
        proxy: {
                 type: 'ajax',
                 url: 'http://webtrak.bksv.com/mel/configuration',
                 //url: 'app/store/configuration.xml',
                 reader: {
                     type: 'xml',
                     record: 'locations',
                     rootProperty: 'nmts'
                 }
              }
           }
    
        });

Ext.define('myApp.model.SensorStation', {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            {
                
                name: 'name', 
                type: 'string',
                mapping: '@name'
                //convert: function (value, record) {
                //    Ext.Msg.alert(value,record.raw);
                //    //var nodes = rec.raw.querySelectorAll('');
                //}
            },
            {
                name: 'lat',
                mapping: '@latitude',
                type: 'float'
            },
            {
                name: 'lng',
                mapping: '@longitude',
                type: 'float'
            },
            {
                name: 'locid',
                mapping:'@locid',
                type: 'string'
            }
        ]
    }
});
kwvwclae

kwvwclae1#

我发现了问题所在......我从来没有使用过XML,所以,我不知道 AJAX 请求的响应是什么样子的,但是通过应用以下代码存储将填充您的应用程序的商店(只是在您的代码中有一点变化)
验证码:

Ext.define('myApp.store.SensorStationStore', {
    extend: 'Ext.data.Store',
    requires: ['myApp.model.SensorStation', 'Ext.data.reader.Xml'],
    config:{
        model: 'myApp.model.SensorStation',
        storeId: 'SensorStore',
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: 'http://webtrak.bksv.com/mel/configuration',
            //url: 'app/store/configuration.xml',
            reader: {
                type: 'xml',
                record: 'locations',
                rootProperty: 'nmts'
            }
        }
    } });

您正在尝试在配置对象之外应用存储配置。干杯!!

相关问题