从 localStorage 获取值以在 Sencha Touch AJAX 代理中使用
Posted
技术标签:
【中文标题】从 localStorage 获取值以在 Sencha Touch AJAX 代理中使用【英文标题】:Get values from localStorage to use in Sencha Touch AJAX Proxy 【发布时间】:2012-09-04 12:24:35 【问题描述】:在我的 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'
);
但是,当我在 Chrome 开发人员工具中清楚地看到这些值时,auth_token 和 user_email 值都被返回为“未定义”。除此之外,我在我的 Sencha Touch 应用程序的许多其他地方访问这些值,但不能在商店本身中这样做。
谁能告诉我我做错了什么?
谢谢
【问题讨论】:
【参考方案1】:我已经通过以下方式解决了这个问题。在加载存储之前,我没有在存储中传递标头,而是在请求期间传递标头。这是代码:
Ext.getStore('storeName').getProxy().setUrl(someURL);
Ext.getStore('storeName').getProxy().setHeaders(
"auth_token" : activeUserToken,
"user_email" : userEmail
);
Ext.getStore('storeName').load();
【讨论】:
以上是关于从 localStorage 获取值以在 Sencha Touch AJAX 代理中使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PyQt5 QThread 从 CLASS(ShowVideo) 中获取值以在第二个 CLASS(ImageViewer) 中使用(根据我的程序)