Sencha Touch中的XMLReader问题

时间:2011-04-15 02:50:23

标签: sencha-touch xmlreader

亲爱的所有人,我有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

1 个答案:

答案 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
});