js cookie 数组 存读

自己研究了一下.

"Cookie里面只能放String 类型"

所以只能将arr的数据按照自己的约定转成string格式存进cookie。

这里提示一下cookie是存在本地浏览器,session是服务器上的。

将下列的数组存进cookie。

1 var arr = [
2     {'name':'joe'},
3     {'name':'json'},
4     {'name':'boe'},
5 ];

 首先是存的function

function setCookie(searchWord, val){
  
  var value = val;

  var arr = document.cookie.match(new RegExp('(^| )' + searchWord + '=([^;]*)(;|$)'));//获取之前存的内容   expiryday.setTime(expiryday.getTime() + 60 * 60 * 24 * 30 *6 *1000); //cookie周期 这里的意思是有效期为半年   if (arr) {     var cookieContext=unescape(arr[2]);     cookieContext+="&"+escape(value); //escape() 编码     document.cookie = searchWord + '=' + escape(cookieContext) + '; expires=' + expiryday.toGMTString() + ";path=/";
  } else {   
    document.cookie
= searchWord + '=' + escape(value) + '; expires=' + expiryday.toGMTString() + ";path=/";
    //该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
    //设置cookie的路径,如果不这样设的话只有自己的路径才能使用,这样设的目的是让该值在这个域下共享
  } }

 

获取cookie

function getCookie(searchWord) {
    var arr = document.cookie.match(new RegExp("(^| )" + searchWord + "=([^;]*)(;|$)"));
    if (arr != null) {
        var cookieContext=unescape(arr[2]);
        var cookieArr=cookieContext.split('&');
        var tmp = [];
        for(var i in cookieArr){
            if(tmp.indexOf(cookieArr[i])==-1) {
                tmp.push(cookieArr[i]);
           }
        }
    }
    return tmp;
}  

 

var _setCookie = function(name, value, domain, minute, path) {
if (minute) {
var now = new Date(),
expire = new Date();
expire.setTime(parseFloat(+now) + 60 * 1000 * minute);
}
document.cookie = name + '=' + value + '; ' + (minute ? ('expires=' + expire.toUTCString() + '; ') : '') +
('path=' + (path || '/') + '; domain=' + (domain || 'tenpay.com') + ';');
};

出处:http://www.cnblogs.com/matthew9298-Begin20160224/

如果您觉得本文对您的学习有所帮助,点击页面右下角【好文要顶】支持博主。

转载于:https://www.cnblogs.com/matthew9298-Begin20160224/p/5420673.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值