0

アプリケーションで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

よろしくお願いします!

4

1 に答える 1

0

エラーは、rootプロキシ/リーダー構成のプロパティにあります。ここでは値"data"をルート オブジェクトとして指定しますが、JSON ファイルでは、オブジェクトは"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'
    }
  }
});
于 2013-09-14T14:56:24.617 に答える