繁体   English   中英

如何在sencha中使用sessionStorage?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM