Я пытаюсь сделать так, чтобы после входа пользователя в систему, и они нажмут обновление, они останутся на одной странице. Однако прямо сейчас, когда пользователь вошел в систему и обновляет обновления, они отправляются обратно на экран входа в систему. Я знаю, что хранилище сеансов используется, пока браузер не закрыт, и это то, что мне нужно. Однако я не могу заставить его работать нормально.Как использовать sessionStorage в 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();
}
});
},
Спасибо за помощь!