【发布时间】:2013-02-22 19:58:49
【问题描述】:
我是 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'
}
}
});
我的 json 文件是这样的:
{
"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']
});
这些与教程的可下载源文件中的完全相同,但也不起作用。如果数据是在商店内定义的,一切都很好。请帮忙,这里完全被屏蔽了。
谢谢!
【问题讨论】:
-
模型长什么样?
-
您可能需要将示例托管在服务器上才能使 Ajax 正常工作。
-
使用
ext-all-dev.js或ext-dev.js这样你就有更多的日志记录。打开你的控制台。它说什么?你也应该需要你的模型;)只需添加一个额外的参数requires: ['AM.model.User']。像@Eric sais 一样,您是从网络服务器运行的吗? -
用模型编辑。关于服务器点。在我将它上传到服务器后,它运行良好。不知道需要。但是出于开发目的,如果有一个解决方案可以将数据从我计算机上的外部文件加载到存储中,那就太好了。最简单的方法是什么?有代理设置,可以吗?第一次搜索找不到任何好的东西。数据可以是xml、json、数组,什么都可以,没关系。