Sencha Touch 读取远程 XML 数据
Posted
技术标签:
【中文标题】Sencha Touch 读取远程 XML 数据【英文标题】:Sencha Touch Reading remote XML data 【发布时间】:2013-04-21 10:36:27 【问题描述】:我最近才开始使用 Sencha Touch 2.1。我在读取 XML 数据时遇到问题。读取本地 xml 文件时,它在 PC、手机和平板电脑上运行良好;当读取远程 xml 时,它在 PC 上运行良好,但我在手机和平板电脑上有一个空白列表。我是什么不见了?
型号
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>
【问题讨论】:
只需将负载侦听器添加到您的商店并检查您的控制台日志以查看数据是否已加载。listeners: load: function( me, records, successful, operation, eOpts ) console.log(records);
也让我们知道您遇到了什么错误?
【参考方案1】:
我遇到了类似的问题。
有必要定义请求的权限。在 xcode 设置或 manifest.xml(适用于 android)中
【讨论】:
以上是关于Sencha Touch 读取远程 XML 数据的主要内容,如果未能解决你的问题,请参考以下文章
Sencha-Touch:未捕获的类型错误:无法读取未定义的属性“代理”