带有senchaTouch的简单JSON示例
我试图实现一个简单的JSON操作: 我想在我的页面上写一个来自JSON格式文件的文本 文件如下:(data.json) 脚本正在获取JSON:(main.js)带有senchaTouch的简单JSON示例,json,sencha-touch,Json,Sencha Touch,我试图实现一个简单的JSON操作: 我想在我的页面上写一个来自JSON格式文件的文本 文件如下:(data.json) 脚本正在获取JSON:(main.js) Ext.setup({ onReady:function(){ Ext.regModel('人'{ 字段:[ {name:'id',type:'string'}, {name:'name',type:'string'} ] }); //我想把名字写在这页上 var itemTemplate=new Ext.XTemplate( '',
Ext.setup({
onReady:function(){
Ext.regModel('人'{
字段:[
{name:'id',type:'string'},
{name:'name',type:'string'}
]
});
//我想把名字写在这页上
var itemTemplate=new Ext.XTemplate(
'',
“{name}”,
'');
//我从data.Json获取并解码Json
var jsonStore=new Ext.data.Store({
模型:“人”,
代理:{
键入:“ajax”,
url:'data.json',
读者:{
键入:“json”
}
},
自动加载:正确
});
//面板应获取存储的结果并显示它
var jsonPanel=新的外部面板({
标题:“json”,
全屏:对,
项目:[
{
xtype:'列表',
门店:jsonStore,
itemTpl:itemTemplate,
}
]
});
}
});
index.html
文件调用上述所有文件和sencha touch.js
和.css
。
我就是看不到这页上写的任何东西
如果有人能给我一个关于我做错了什么的线索,那会很有帮助。尝试将JSON对象放在数组表示法中,如下所示:
[{
"id": "0",
"name":"myname"
}, {
"id": "1",
"name":"myname2"
}]
就我所记得的(至少在ST1中是这样,我没有尝试使用ST2),Ajax阅读器不能用于访问本地文件。您需要通过web服务器交付json数据好的,语法不正确,但不足以使其正常工作。我在这里尝试了一下,示例成功了。您是否已将文件放入Apache文件夹(或其他web服务器)中,或者是否正在尝试直接从浏览器运行?
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,
}
]
});
}
});
[{
"id": "0",
"name":"myname"
}, {
"id": "1",
"name":"myname2"
}]