使用senchaTouch的简单JSON示例

时间:2011-08-01 13:57:05

标签: json sencha-touch

我正在尝试实现一个简单的JSON操作:

我想在我的页面上写一个来自JSON格式文件的文本。

文件是这样的:(data.json)

{  
     "id": "0",
     "name":"myname"    
}

脚本获取JSON:(main.js)

Ext.setup({
onReady: function() {

    Ext.regModel('Person', {
        fields: [
            {name: 'id', type: 'string'},
            {name: 'name', type: 'string'}
        ]
    });

    //I want the  name to be written on the page
    var itemTemplate = new Ext.XTemplate(
        '<tpl for=".">',
         '{name}',
        '</tpl>');

    // I get and decode the Json from data.json   
    var jsonStore = new Ext.data.Store({
        model: "Person",
        proxy: {
            type: 'ajax',
            url: 'data.json',
            reader: {
                type: 'json'
            }
        },
        autoLoad: true
    });

    // The panel should get the  stored Result and display it    
    var jsonPanel = new Ext.Panel ({
        title: "json",            
        fullscreen: true,         
        items: [
            {
                xtype: 'list',
                store: jsonStore,
                itemTpl:itemTemplate,                 
            }
        ]
    });

}
});

index.html文件会调用上面的所有文件sencha-touch.js.css。 我只是无法在页面上看到任何内容。

如果有人能给我一些关于我做错的线索,那将会有很大的帮助。

2 个答案:

答案 0 :(得分:0)

尝试将JSON对象放在数组表示法中,如下所示:

[{
    "id": "0",
    "name":"myname"    
}, {  
    "id": "1",
    "name":"myname2"    
}]

答案 1 :(得分:0)

据我所知(至少在ST1中是这种情况,我没有尝试使用ST2),Ajax阅读器不能用于访问本地文件。您需要通过Web服务器提供您的json数据