Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有senchaTouch的简单JSON示例_Json_Sencha Touch - Fatal编程技术网

带有senchaTouch的简单JSON示例

带有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( '',

我试图实现一个简单的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(
'',
“{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"    
}]