[英]How to use sessionStorage in sencha?
我正在尝试使用它,以便用户登录后单击刷新,他们将停留在同一页面上。 但是,现在,当用户登录并单击刷新时,他们将被发送回登录屏幕。 我知道会话存储用于关闭浏览器的过程,这是我所需要的。 我似乎无法使其正常工作。
模型
Ext.define('MeterReadingsApp.model.Login', {
extend: 'Ext.data.Model',
config: {
fields: [{name: "username", type:'string'}, {name: "password",
type:'string'}],
identifier: 'uuid'
}
});
商店
Ext.define('MeterReadingsApp.store.Login', {
extend: 'Ext.data.Store',
//requires: ['Ext.data.proxy.SessionStorag'],
config: {
model: 'MeterReadingsApp.model.Login',
//sessionStorage.type:
proxy: {
//use sessionstorage if need to save data for that
//specific session only
type: 'sessionstorage',
id : 'Login'
},
autoLoad: false
}
});
//var Login = Ext.create('MeterReadingsApp.store.Login');
//Login.load();
app.js
launch: function() {
// Destroy the #appLoadingIndicator element
Ext.fly('appLoadingIndicator').destroy();
var session=Ext.getStore('Login');
session.load();
var record = session.getAt('userName');
alert(record);
if(record != undefined){
//exits to main menus not login
}
else
Ext.Viewport.add(Ext.create('MeterReadingsApp.view.Login'));
},
控制者
loginButton: function(){
// var me = this;
Ext.Ajax.request({
useDefaultXhrHeader:false,
url: getLogonUrl(),
method: 'POST',
headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
params : {
"userName": Ext.getCmp('username').getValue(),
"password": Ext.getCmp('password').getValue()
},
success: function (response) {
Ext.getCmp('failLogin').hide(),
Ext.getStore('Login').sync();
Ext.Viewport.setActiveItem({xtype: 'Main'});
Ext.getStore('Campuses').load();
},
failure: function(response) {
Ext.getCmp('loginform').doSetHeight(250),
Ext.getCmp('failLogin').show();
}
});
},
谢谢您的帮助!
您需要在商店上设置storeId属性。 您正在尝试使用代理的ID来获取商店。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.