SenchaTouch的简单JSON示例
问题描述:
我试图实现简单的JSON操作:SenchaTouch的简单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
。 我只是不能看到任何写在页面上的东西。
如果有人能给我一个关于我在做什么错误的线索,这将有很大帮助。
答
尝试把你的JSON对象数组符号,像这样:
[{
"id": "0",
"name":"myname"
}, {
"id": "1",
"name":"myname2"
}]
答
至于我记得(至少是在ST1的情况下,我没有ST2尝试),阿贾克斯阅读器不能用于访问本地文件。你需要通过网络服务器发送你的json数据
确定语法不正确,但它不足以让它工作 – COcdm
我在这里试过并且该示例有效。你把这些文件放到Apache的文件夹(或其他网络服务器)中,还是试图直接从浏览器运行? – eduardosouza