2

私の Sencha Touch アプリケーションでは、いくつかの値を localStorage に保存し、それらは問題なく保存されます。後でストアへのリクエストにこれらの値を使用する必要があり、それらの値をリクエスト ヘッダーとして渡す必要があります。コードは次のようになります。

Ext.define('AppName.store.storeName', {
    extend: 'Ext.data.Store',

    requires: [
        'AppName.model.modelName'
    ],

    config: {
        model: 'AppName.model.modelName',
        storeId: 'storeName',
        proxy: {
            type: 'ajax',
            url: 'http://dynamic',
            headers: {
                auth_token: localStorage.getItem('activeUserToken'),
                user_email: localStorage.getItem('userEMail')
            },
            reader: {
                type: 'json'
            }
        }
    }
});

ただし、auth_token と user_email の両方の値が「未定義」として返されますが、Chrome 開発者ツールでこれらの値が明確に表示されます。それに加えて、私は Sencha Touch アプリケーションの他の多くの場所でこれらの値にアクセスしますが、ストア自体ではアクセスできません。

誰かが私が間違っていることを教えてもらえますか?

ありがとう

4

1 に答える 1

2

この問題を次の方法で解決しました。ストアにヘッダーを渡す代わりに、ストアをロードする前に、リクエスト中にヘッダーを渡します。そのためのコードは次のとおりです。

    Ext.getStore('storeName').getProxy().setUrl(someURL);
        
    Ext.getStore('storeName').getProxy().setHeaders(
         {
             "auth_token" : activeUserToken,
             "user_email" : userEmail
         }
    );

    Ext.getStore('storeName').load();
于 2012-09-04T19:06:52.020 に答える