Ext.data.proxy.LocalStorage和SessionStorage

     Ext.data.proxy.LocalStorage是Ext.data.proxy.WebStorage的子类,使用HTML5的LocalStorage API在客户端保存数据,由于HTML5的LocalStorage不能存储复杂数据,因此在读写操作时LocalStorage代理会自动序列化和反序列化数据。

    LocalStorage代理经常用来保存不需要存储在服务端的用户信息,这些信息不回在浏览器关闭后消失,可以长期保存。

Ext.onReady(function ()
{
    //创建数据模型
    Ext.regModel("User", {
        fields: ["id", "name", "age"],
        proxy: {
            type: "localstorage",        //使用Ext.data.proxy.LocalStorage代理
            id: "User-Searches"         //代理数据的唯一标识
        }
    });
    var store = new Ext.data.Store({
        model: "User"
    });
    //添加数据
    store.add({ name: "张三", age: 20 });
    store.add({ name: "李四", age: 30 });

    //保存数据
    store.sync();
    //读取数据
    store.load();

    var msg = [];
    store.each(function (rec)
    {
        msg.push(rec.get("id") + " " + rec.get("name") + " " + rec.get("age"));
    });
    alert(msg.join("\n"));
});

    由于用到了HTML5的DOMStorage特性,上述代码需要在支持Html5浏览器中才能运行,在浏览器关闭后数据不回消失,因此,在运行关闭再次访问页面后,Store的数据会不断增加。

    将上述代码中的type修改为为sessionstorage后,即为Ext.data.proxy.SessionStorage,使用HTML5的session storage API在客户端保存数据,与LocalStorage的区别在于当浏览器关闭时数据会丢失,不适合长期保存数据,其他的使用方式相同。

   注意:如果页面不关闭而是刷新操作,HTML5的session storageApI也会对数据进行累计,因为刷新页面并没有创建新的会话,所以数据不回被清空。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值