亲爱的所有人,我有XML数据(users.xml,来自sencha docs示例)
<?xml version="1.0" encoding="UTF-8"?>
<user>
<id>1</id>
<name>Ed Spencer</name>
<email>ed@sencha.com</email>
</user>
<user>
<id>2</id>
<name>Abe Elias</name>
<email>abe@sencha.com</email>
</user>
我想在sencha列表中加载这些数据。这是我的js代码(user.js)
Ext.setup({
onReady: function() {
Ext.regModel('User', {
fields: ['id', 'name', 'email']
});
var store = new Ext.data.Store({
model: 'User',
proxy: {
type: 'ajax',
url : 'users.xml',
reader: {
type: 'xml',
record: 'user'
}
}
});
var list = new Ext.List({
fullscreen: true,
itemTpl : '{name} {email}',
grouped : true,
indexBar: true,
store: store
});
list.show();
}
});
这是我的html文件(user.html)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" href="senchalib/resources/css/sencha-touch.css" type="text/css">
<script type="text/javascript" src="senchalib/sencha-touch.js"></script>
<script type="text/javascript" src="user.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>
仅供参考,这三个文件存储在同一个文件夹中。当我在谷歌浏览器测试时,我没有数据。我的代码做错了吗?有人可能会指出哪些代码错了?我已经在这个网站上看到了类似的主题,但我仍然没有得到明确的答案。 THX
答案 0 :(得分:0)
我自己是Sencha Touch的新手。但是我已经启动并运行了类似的解决方案(尽管我的脚本使用的是JSON而不是XML)。
当我浏览您的代码时,您似乎永远不会启动商店的负载。商店“开始”。
您可以使用(与代码中的.show();大致相同的行来强制加载商店。
store.load();
或者您可以将自动加载变量添加到商店本身;
var store = new Ext.data.Store({
model: 'User',
proxy: {
type: 'ajax',
url : 'users.xml',
reader: {
type: 'xml',
record: 'user'
}
},
autoLoad: true
});