sencha-touch - 从 localStorage 获取值以在 Sencha Touch AJAX 代理中使用

标签 sencha-touch sencha-touch-2

在我的 Sencha Touch 应用程序中,我将一些值存储在 localStorage 中,并且它们存储得很好。稍后我需要使用这些值来向商店发出请求,并且需要将这些值作为请求 header 传递。代码如下所示:

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'
            }
        }
    }
});

但是,当我在 Chrome 开发人员工具中清楚地看到这些值时,auth_token 和 user_email 值都将返回为“未定义”。除此之外,我在 Sencha Touch 应用程序的许多其他地方访问这些值,但无法在商店本身中执行此操作。

有人可以告诉我我做错了什么吗?

谢谢

最佳答案

我通过以下方式解决了这个问题。我不是在商店中传递 header ,而是在请求期间、在加载商店之前传递 header 。这是代码:

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

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

关于sencha-touch - 从 localStorage 获取值以在 Sencha Touch AJAX 代理中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263457/

相关文章:

sencha-touch - 如何在sencha中点击下拉菜单时应用过滤器

sencha-touch - Sencha Touch - 如何将不同的过滤器应用于一个商店以供不同用途?

javascript - 如何添加itemtap

javascript - 在 Sencha Touch 2 中单击面板时如何显示覆盖

sencha-touch - 如何在 Sencha Touch V2 中正确激活 MVC View

javascript - Sencha Touch 表单面板,无法使用鼠标滚动

javascript - 在我的选项卡面板中获取标题属性

JavaScript 代码导致 iOS Safari 崩溃

css - 如何使容器尺寸拉伸(stretch)到按比例缩放的子尺寸

javascript - 屏幕一直在加载