Получить значения из localStorage для использования в Sencha Touch AJAX Proxy


В моем приложении 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 я ясно вижу эти значения. Кроме того, я получаю доступ к этим ценностям во многих других местах в моем прикосновении Сенча приложение, но не может сделать это в самом магазине.

Кто-нибудь может мне сказать, что я делаю не так?

Спасибо

1 2

1 ответ:

Я решил эту проблему следующим образом. Вместо того, чтобы передавать заголовки в магазине, я передаю заголовки во время запроса, перед загрузкой магазина. Вот код для этого:

    Ext.getStore('storeName').getProxy().setUrl(someURL);

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

    Ext.getStore('storeName').load();

Надеюсь, что это поможет кому-то еще!