2

私はExtJSの初心者で、煎茶のチュートリアルを勉強していましたが、仕事をしたくありません(アプリチュートリアル)。

グリッド用の単純なストアがあり、ストアがAJAXプロキシを使用してjsonファイルを読み取ると、データが表示されず、firebugのネットタブによると、空であるため何もロードされませんでした。そして、これまでにエラーがスローされることはありません。しかし、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']
});

これらは、チュートリアルのダウンロード可能なソースファイルとまったく同じですが、これも機能しません。データがストアにインラインで定義されている場合は、すべて問題ありません。ここで完全にブロックされて、助けてください。

ありがとう!

4

1 に答える 1

1

エリックが言ったように、サーバー設定でajax呼び出しを行う必要があります。外部データのロードに関する質問に答えるために、そもそもそれが機能しない理由はセキュリティ上の理由であり、回避できたとしても意味がないため、それを行うことはできません。外部ファイルからデータを読み込むことができると思う唯一の方法は、JSONデータをオブジェクトとして外部.jsファイルに保存し、ストアのdataプロパティを使用してデータを外部ファイルのそのオブジェクトに設定することです。 。

于 2013-03-07T17:19:07.657 に答える