0

だから私は「users.json」ファイルを読み取るextjsでajaxプロキシを設定しようとしています。ストアを users.json ファイルにマップしようとしています。ここに私の店があります:

Ext.define('AM.store.Users', {
    extend: 'Ext.data.Store',
    model: 'AM.model.User',
    fields: ['name', 'email']
}

ここに私のusers.jsonファイルがあります:

{
    success: true,
    users: [
        {name: 'Ed Hayes',              email: 'aaa'},
        {name: 'Tommy Gunz', email: 'tommy@sencha.com'},
        {name: 'Clay Banks',    email: 'clay@BoA.com'},
        {name: 'Billy Joe', email: 'billyJgeemail.com'},
        {name: 'James Bond', email: 'goldenGun@HQ.com'}
    ]
}

そして最後に、私のモデル:

Ext.define('AM.model.User', {
    extend: 'Ext.data.Model',
    fields: ['name', 'email'],
    proxy: {
        type: 'ajax',
        url : 'data/users.json',
        reader: {
            type: 'json',
            root: 'users'
        }
    }
});

// Uses the User Model's Proxy
Ext.create('Ext.data.Store', {
    model: 'AM.model.User'
});

現在、機能していないようです。これを行う方法はありますか?(これは私がやるべきことですか?)

4

3 に答える 3

1

あなたの場合、モデルではなく、ストアにプロキシを設定したいと考えています。また、モデルを設定する方法が機能するかどうかはわかりません。問題のモデルとストアを設定する方法は次のとおりです。

Ext.define("AM.store.User", {
    extend: "Ext.data.Model",
    fields: [
        {name:"name",  type:"string"},
        {name:"email", type:"string"}
    ]
});

// Uses the User Model's Proxy
var myStore = Ext.create('Ext.data.Store', {
    model: 'AM.store.User',
    proxy: {
        type: 'ajax',
        url : 'data/users.json',
        reader: {
            type: 'json',
            root: 'users'
        }
    },
    autoLoad: true
});
于 2013-07-24T14:13:44.743 に答える
0
  1. modelでプロパティを使用するか、プロパティをstore使用してくださいfields。両方を使用しないでください。

  2. jsonにプロパティは必要ありませんsuccess(特定の extjs フォーム操作でのみ必要です)。

  3. 独自のタイプのストアを既に宣言しているのに、モデルを使用してデフォルトのストアを作成するのはなぜですか?

  4. proxystoreまたはに入れることができますmodel。が存在しない場合、 はそのstoreを継承しmodelます。proxy

于 2013-07-24T18:25:46.517 に答える