1

私はExtJS-4.2を学んでいます.MVCチュートリアルに従っていました...

コントローラー、ビュー、モデル、ストアを作成しました...ストアにはハードコーディングされたデータがありました。テスト用のWebAPIが機能しており、結果をjson形式で送信します...

ローカル ファイルから読み取り、API に送信する方法についてチュートリアルで説明していることは、

API から読み取り、データをストアにロードしたいもの...

Ext.define('AM.store.Productstore',
{
    extend   : 'Ext.data.Store',
    model    : 'AM.model.Productmodel',
    autoload : true,
    proxy    : {
            type   : 'AJAX',
            url    : 'localhost/mfw/api/products/all'
            //tutorial is no help any furthur from this point on
           }
});

私のURLはlocalhost/mfw/api/products/all

そして私の返すjsonは

[{"ID":1,"Name":"aa","Category":"A","Price":200.00},
 {"ID":2,"Name":"bb","Category":"B","Price":200.00
 {"ID":3,"Name":"cc","Category":"C","Price":200.00},
 {"ID":4,"Name":"dd","Category":"D","Price":200.00},
 {"ID":5,"Name":"ee","Category":"E","Price":200.00},
 {"ID":6,"Name":"ee","Category":"F","Price":200.00}]

助けはありますか?

4

2 に答える 2

1

プロキシ タイプを「Ajax」ではなく「rest」に変更してください。さらに、リーダーの設定について言及してください。json キーをモデルのフィールドにマップしましたか。

より明確にするために、煎茶ガイドを参照してください。

http://docs.sencha.com/ext-js/4-2/#!/guide/data

ありがとう

于 2013-04-12T10:51:49.567 に答える
1

これは、データを含むグリッドを示すjsfiddleです。重要なことの 1 つは、json リーダーのルート プロパティです。データにはルートがないため、ルート プロパティを省略しても問題ありません。データが別のフィールド、つまりルート フィールド内にラップされている場合は、リーダーで root: 'myrootfield' を指定します。これがあなたのプロキシです。また、モデルでは、idProperty を使用してキー フィールドを指定します。これは「ID」です。extjs はデフォルトで「id」小文字の idProperty になっていると思います。

  proxy    : {
            type   : 'rest',
            url    : 'localhost/mfw/api/products/all'
           reader: {
                type: 'json'
            }
           }
于 2013-05-13T18:36:29.527 に答える