我正在尝试从我的应用程序中的json文件加载数据但没有加载数据,我坚持使用它:
(模型)Singers.js:
Ext.define('SGM.model.Singers', {
extend: 'Ext.data.Model',
fields: ['id', 'ten_that', 'nghe_danh', 'ngay_sinh', 'tieu_su', 'anh_dai_dien', 'luot_like'],
idProperty: 'id',
proxy: {
type: 'ajax',
url: 'data/singers.json',
reader: {
type: 'json',
root: 'data',
successProperty: 'success'
}
}
});
(存储)Singers.js
Ext.define('SGM.store.Singers', {
extend: 'Ext.data.Store',
model: 'SGM.model.Singers',
/*data:[
{ id: 1,
ten_that: "Bui Anh Tuan",
nghe_danh: "Bui Anh Tuan",
ngay_sinh:"20/9/1992",
tieu_su: "Tieu su cua Bui Anh Tuan",
anh_dai_dien:"buianhtuan.jpg",
luot_like:100},
{
id: 2,
ten_that: "Cao Mi Kim",
nghe_danh: "Cao Mi Kim",
ngay_sinh:"20/9/1992",
tieu_su: "Tieu su cua Cao Mi Kim",
anh_dai_dien:"caomikim.jpg",
luot_like:100},
{
id: 3,
ten_that: "Pham Khanh Phuong",
nghe_danh: "Khanh Phuong",
ngay_sinh:"20/9/1992",
tieu_su: "Tieu su cua Khanh Phuong",
anh_dai_dien:"khanhphuong.jpg",
luot_like:100},
{
id: 4,
ten_that: "Ho Quang Hieu",
nghe_danh: "Ho Quang Hieu",
ngay_sinh:"20/9/1992",
tieu_su: "Tieu su cua Ho Quang Hieu",
anh_dai_dien:"hoquanhieu.jpg",
luot_like:100}
],*/
});
上面的内联数据运行良好,但是当我创建一个单独的json文件时:singers.js(在文件夹' data'中),代码如下:
{
"success": true,
"results": [
{ "id": 1,
"ten_that": "Bui Anh Tuan",
"nghe_danh": "Bui Anh Tuan",
"ngay_sinh":"20/9/1992",
"tieu_su": "Tieu su cua Bui Anh Tuan",
"anh_dai_dien": "buianhtuan.jpg",
"luot_like": 100},
{
"id": 2,
"ten_that": "Cao Mi Kim",
"nghe_danh": "Cao Mi Kim",
"ngay_sinh": "20/9/1992",
"tieu_su": "Tieu su cua Cao Mi Kim",
"anh_dai_dien": "caomikim.jpg",
"luot_like":100},
{
"id": 3,
"ten_that": "Pham Khanh Phuong",
"nghe_danh": "Khanh Phuong",
"ngay_sinh": "20/9/1992",
"tieu_su": "Tieu su cua Khanh Phuong",
"anh_dai_dien": "khanhphuong.jpg",
"luot_like": 100},
{
"id": 4,
"ten_that": "Ho Quang Hieu",
"nghe_danh": "Ho Quang Hieu",
"ngay_sinh": "20/9/1992",
"tieu_su": "Tieu su cua Ho Quang Hieu",
"anh_dai_dien": "hoquanhieu.jpg",
"luot_like": 100}
]
}
这是我的文件夹目录:
+app
++controller
++model
+++Singers.js
++store
+++Singers.js
+view
+data
++singers.json
+app.js
-index.html.js
先谢谢!
答案 0 :(得分:0)
错误在于您的代理/阅读器配置的root
属性。在这里,您在JSON文件中指定值"data"
作为根对象,但是,对象存储在"results"
属性中。
尝试以下模型定义(请注意root
的值):
Ext.define('SGM.model.Singers', {
extend: 'Ext.data.Model',
fields: ['id', 'ten_that', 'nghe_danh', 'ngay_sinh', 'tieu_su', 'anh_dai_dien', 'luot_like'],
idProperty: 'id',
proxy: {
type: 'ajax',
url: 'data/singers.json',
reader: {
type: 'json',
root: 'results',
successProperty: 'success'
}
}
});