带有ajax代理的ExtJS存储不';t加载数据

带有ajax代理的ExtJS存储不';t加载数据,extjs,extjs4,extjs4.1,Extjs,Extjs4,Extjs4.1,我是ExtJS的初学者,正在学习sencha的教程,但有一个不想使用(应用程序教程) 我有一个简单的网格存储,当存储使用AJAX代理读取json文件时,数据不会显示,根据firebug中的net选项卡,没有加载任何内容,因为它是空的。而且不会抛出任何错误。但是如果我为我的json文件添加了一个错误的url,那么它会抛出一个找不到的错误 我的商店看起来像这样: Ext.define('AM.store.Users', { extend: 'Ext.data.Store', mode

我是ExtJS的初学者,正在学习sencha的教程,但有一个不想使用(应用程序教程)

我有一个简单的网格存储,当存储使用AJAX代理读取json文件时,数据不会显示,根据firebug中的net选项卡,没有加载任何内容,因为它是空的。而且不会抛出任何错误。但是如果我为我的json文件添加了一个错误的url,那么它会抛出一个找不到的错误

我的商店看起来像这样:

Ext.define('AM.store.Users', {
    extend: 'Ext.data.Store',
    model: 'AM.model.User',
    autoLoad: true,

    proxy: {
        type: 'ajax',
        url: 'data/users.json',
        reader: {
            type: 'json',
            root: 'users',
            successProperty: 'success'
        }
    }
});
{
    "success": true,
    "users": [
        {"name": "Ed",    "email": "ed@sencha.com"},
        {"name": "Tommy", "email": "tommy@sencha.com"}
    ]
}
我的json文件如下所示:

Ext.define('AM.store.Users', {
    extend: 'Ext.data.Store',
    model: 'AM.model.User',
    autoLoad: true,

    proxy: {
        type: 'ajax',
        url: 'data/users.json',
        reader: {
            type: 'json',
            root: 'users',
            successProperty: 'success'
        }
    }
});
{
    "success": true,
    "users": [
        {"name": "Ed",    "email": "ed@sencha.com"},
        {"name": "Tommy", "email": "tommy@sencha.com"}
    ]
}
型号:

Ext.define('AM.model.User', {
    extend: 'Ext.data.Model',
    fields: ['name', 'email']
});
这些与教程的可下载源文件中的完全相同,但也不起作用。如果数据是在存储中定义的,则一切正常。请帮忙,这里完全被封锁了


谢谢

您需要像Eric说的那样在服务器设置中进行ajax调用。要回答有关加载外部数据的问题,您不能这样做,因为它首先不起作用的原因是出于安全原因,如果可以规避,那就没有意义了。我认为从外部文件加载数据的唯一方法是将JSON数据保存为外部.js文件中的一个对象,然后使用存储区的data属性将数据设置为外部文件中的该对象。

模型是什么样子的?您可能需要在服务器上托管该示例,以便Ajax工作正确使用
ext-all-dev.js
ext-dev.js
,这样您就有了更多的日志记录。打开你的控制台。上面说什么?您也应该需要您的模型;)只需添加一个额外的参数
就可以了:['AM.model.User']
。比如@Eric sais,您是从Web服务器上运行的吗?使用模型编辑。正确的服务器点。在我把它上传到服务器后,它工作得非常好。我不知道需要它。但对于开发目的,最好有一个解决方案,从我的计算机上的外部文件将数据加载到存储中。最简单的方法是什么?是否有一个代理设置,这将工作?第一次搜索时找不到任何好的内容。数据可以是xml、json、数组或任何内容,这无关紧要。