我正在尝试实现一个简单的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
。
我只是无法在页面上看到任何内容。
如果有人能给我一些关于我做错的线索,那将会有很大的帮助。
答案 0 :(得分:0)
尝试将JSON对象放在数组表示法中,如下所示:
[{
"id": "0",
"name":"myname"
}, {
"id": "1",
"name":"myname2"
}]
答案 1 :(得分:0)
据我所知(至少在ST1中是这种情况,我没有尝试使用ST2),Ajax阅读器不能用于访问本地文件。您需要通过Web服务器提供您的json数据