0

GET ではなく POST で呼び出す必要があるサービスがあります。method: 'POST'オプションをプロキシに簡単に追加できるとどこかで読んだと思いましたが、効果がないようです。

    Ext.define('Sencha.store.Teams', {
        拡張: 'Ext.data.Store',

        構成: {
            モデル: 'Sencha.model.Team',
            自動ロード: 真、
            プロキシー: {
                タイプ: 'ajax',
                // メソッド: 'GET',

                メソッド: 'POST',
                URL: 'teams.json'
            }
        }
    });

4

1 に答える 1

5

actionMethod プロパティをオーバーライドする必要があります

Ext.define('Sencha.store.Teams', {
    extend: 'Ext.data.Store',

    config: {
        model: 'Sencha.model.Team',
        autoLoad: true,
        proxy: {
            type: 'ajax',
            actionMethods: {
                create : 'POST',
                read   : 'POST', // by default GET
                update : 'POST',
                destroy: 'POST'
            },
            url: 'teams.json'
        }
    }
});

または独自のプロキシ クラスを定義する

Ext.define('Sencha.data.PostAjax', {
    extend: 'Ext.data.proxy.Ajax',
    alias: 'proxy.postproxy', // must to get string reference
    config: {
       actionMethods: {
            create : 'POST',
            read   : 'POST', // by default GET
            update : 'POST',
            destroy: 'POST'
        },
    }
}


Ext.define('Sencha.store.Teams', {
    extend: 'Ext.data.Store',

    config: {
        model: 'Sencha.model.Team',
        autoLoad: true,
        proxy: {
            type: 'ajaxpost'
            url: 'teams.json'
        }
    }
});

免責事項: コードはゼロから作成されたものであり、実際にはテストされていません。コメントが再生されない前に、機能しない場合は反対票を投じないでください。ありがとう。

于 2012-07-12T23:07:52.363 に答える