Sencha Touch 2 Ajax代理未在列表中显示数据

Sencha Touch 2 Ajax代理未在列表中显示数据,ajax,proxy,touch,extjs,Ajax,Proxy,Touch,Extjs,希望有人能帮忙。。我已经找了好几个小时试图找到解决这个问题的办法 我试图在商店中使用ajax代理填充列表。如果我将json数据内联,它可以完美地工作,但我似乎无法从代理中获取任何返回的数据,即使url在浏览器中返回完全相同的json数据。我做错了什么 商店: Ext.define('m3.store.News', { extend: 'Ext.data.Store', requires: ['m3.model.News'], config: { model: 'm3.

希望有人能帮忙。。我已经找了好几个小时试图找到解决这个问题的办法

我试图在商店中使用ajax代理填充列表。如果我将json数据内联,它可以完美地工作,但我似乎无法从代理中获取任何返回的数据,即使url在浏览器中返回完全相同的json数据。我做错了什么

商店:

Ext.define('m3.store.News', {  
extend: 'Ext.data.Store',  

requires: ['m3.model.News'],  

config: {  
    model: 'm3.model.News',  
    autoload: true,  
    proxy: {  
        type: 'ajax',  
        url: 'http://localhost/lib',  
        reader: {  
            type: 'json'  
        }  
    }  
});  
如果我内联添加数据,它可以完美地工作:

Ext.define('m3.store.News', {  
extend: 'Ext.data.Store',  

requires: ['m3.model.News'],  

config: {  
    model: 'm3.model.News',  
    autoload: true,  
    proxy: {  
        type: 'ajax',  
        url: 'http://localhost/lib',  
        reader: {  
            type: 'json'  
        }  
    },  
data: [{"title":"Test Title 1","id":"1","text":"<div>Test Text 1<\/div>"},{"title":"Test Title 2","id":"2","text":"<div>Test Text 2<\/div>"}]  
});
Ext.define('m3.store.News',{
扩展:“Ext.data.Store”,
要求:['m3.model.News'],
配置:{
模型:“m3.model.News”,
自动加载:对,
代理:{
键入:“ajax”,
网址:'http://localhost/lib',  
读者:{
键入:“json”
}  
},  
数据:[{“标题”:“测试标题1”,“id”:“1”,“文本”:“测试文本1”},{“标题”:“测试标题2”,“id”:“2”,“文本”:“测试文本2”}]
});
其他一切都很好,所以我不会发布其他文件,如果您需要,请告诉我

我甚至尝试过静态json文件,但代理似乎没有返回任何内容

有没有办法在控制台中测试来自代理的响应?我尝试了“Ext.getStore('News');”,但它返回一个空数组

使用Sencha Touch 2 MVC


它看起来很简单,但我就是无法让它工作..非常感谢!

我想您在这里缺少的是
rootProperty
,同时通过
Ajax
代理加载
数据

您需要提到这个属性来标识json的根

reader : {
   type:'json',
   rootProperty:'data'
}
json数据的格式如下所示(根应为“数据”)

{
“数据”:[
{
“标题”:“测试标题1”,
“id”:“1”,
“文本”:“测试文本1”
},
{
“标题”:“测试标题2”,
“id”:“2”,
“文本”:“测试文本2”
}
]
}

我认为,它现在应该可以进行这些更改。

好的,在控制台中尝试了Ext.getStore('News').load();并将数据拉入。现在,我想不出在应用程序中放置该调用的位置。我恐怕是新手区域。谢谢。只是将其添加到主app.js的启动功能中,而且似乎一切都正常。那么,处理方法是什么呢“自动加载”?配置不应该这样做吗?aaaaaggghhhh!自动加载不是自动加载!!!!!!!!!!!!!!!!!Noob central。。
{
    "data": [
        {
            "title": "Test Title 1",
            "id": "1",
            "text": "<div>Test Text 1</div>"
        },
        {
            "title": "Test Title 2",
            "id": "2",
            "text": "<div>Test Text 2</div>"
        }
    ]
}