2013-04-21 88 views
0

我刚刚开始使用Sencha Touch 2.1。我在阅读XML数据时遇到了问题。阅读本地XML文件时,它在PC,手机和平板电脑上工作正常;阅读远程XML时,它在PC上运行正常,但手机和平板电脑上有空白列表。失踪?Sencha Touch读取远程XML数据

模型

Ext.define('Cus.model.Biz', { 
extend: 'Ext.data.Model', 
config: { 
    fields: [ 
     {name: 'name', type: 'auto'}, 
     {name: 'tel', type: 'auto'}, 
     {name: 'address', type: 'auto'} 
    ] 
} 

});

商店

Ext.define("Cus.store.BizList", { 
extend: 'Ext.data.Store', 
requires: ['Cus.model.Biz', 'Ext.data.reader.Xml'], 
config: { 
    model: 'Cus.model.Biz', 
    autoLoad: true, 
    proxy: { 
     type: 'ajax', 
     url:'http://ip:port/XXX/list.xml', 
     reader: { 
      type: 'xml', 
      root: 'Result', 
      record: 'Biz' 
     } 
    } 
} 

});

查看

Ext.define('Cus.view.phone.Main', { 
extend: 'Ext.Container', 
requires:[ 
    'Ext.dataview.List', 
    'Ext.data.Store', 
    'Cus.store.BizList' 
], 

config: { 
    layout: 'vbox', 
    items: [ 
     { 
      xtype: 'toolbar', 
      docked: 'top', 
      title: 'My List', 
     }, 
     { 
      xtype: 'list', 
      store: 'BizList', 
      loadingText: 'loading', 
      itemTpl: '{name} {tel} {address}', 
      flex: 1 
     } 
    ] 
} 

});

和远程XML文件

<Result> 
<Bizs> 
    <Biz> 
     <name>name1</name> 
     <tel>tel1</tel> 
     <address>add1</address> 
    </Biz> 
    <Biz> 
     <name>name2</name> 
     <tel>tel2</tel> 
     <address>add2</address> 
    </Biz> 
    <Biz> 
     <name>name3</name> 
     <tel>tel3</tel> 
     <address>add3</address> 
    </Biz> 
</Bizs> 

+0

只需将加载监听器添加到您的商店,并检查您的控制台日志,以查看数据是否加载或加载.'listeners:{ \t load:function(me,records ,成功,操作,eOpts){console.log(records); }}'也让我们知道你得到什么错误? – ThinkFloyd 2013-04-22 05:37:10

回答

0

我也有类似的问题。

有必要定义请求的权限。在xcode设置或在manifest.xml(对于Android)