zoukankan      html  css  js  c++  java
  • 在js中将map对象转换成json 和 js对cookie的操作

    在js中将map对象转换成json

    //msp转objectlet obj= Object.create(null);
    for (let[k,v] of map) {
        obj[k] = v;
    }//object转json
    JSON.stringify(obj);
    

      

    js对cookie的操作

    cookie是网站为了标识用户身份而存储在用户本地终端上的数据,一般这些数据都会进行加密,以防止数据篡改而造成用户信息泄露。cookie数据始终在同源的http请求中携带,他会在服务器和浏览器之间进行数据交互时进行来回传递。 对cookie不仅浏览器端可以进行操作,服务器端也可以进行操作,在这里只说一下浏览器端对于cookie的存取及删除操作。

    添加cookie

    在说操作之前,首先需要了解一下cookie是如何存储的,我们随便打开一个网站,在控制台输入document.cookie

    我们发现cookie的存储方式是key=value; key=value的形式存储的,这里面全都是在有效期内的cookie。了解了存储方式,我们就可以进行set操作了:

    let setCookie=(key, value, days) =>{
        let now = new Date();
        let expires = '';
        let formatValue = '';
        if(days){
           now.setTime(now.getTime() + days * 24 * 60 * 60 * 1000);
            expires = ";expires=" + now;
           }
        if(!key){
           return false
        }
        try{
            formatValue  = JSON.stringify(value);
        }catch(e){
            console.log(e);
            return false;
        }
        document.cookie = key + "=" + formatValue + expires;
    }

    我们设置的过期时间以天为单位,当你想关闭浏览器时就cookie就直接失效,则可不传入days,当不对cookie设置任何正、负或0时间,也就是说对expire不设置,他就会在浏览会话结束时过期。

    获取cookie值

    上面已经说过了document中存储cookie的形式了,而且过期的cookie不会出现在document.cookie中,这样我们在获取的时候只需要将其进行格式化即可:

    let getCookie=key=> {
        //如果cookie中有数据  才可以获取数据
        if (document.cookie) {
          let cookieInfo = document.cookie;
          //cookie中可能会包含一些 额外的数据,这些数据特点是由   分号和空格间隔的
          //所以 先将 分号和空格  替换掉   替换成  ;
          let arr = cookieInfo.replace(/;s/g, ';').split(";");
          let item,brr
          for (let i = 0; i < arr.length; i++) {
            item = arr[i].split("=");
            if (item[0] === key) {
              brr = item[1];
              return JSON.parse(brr);//如果找到 我们想要的键,将值转成数组返回
            }
          }
          //如果cookie中 没有我们想获取的键值,直接返回一个空数组
          return [];
        }
        //如果cookie中没有数据,直接返回一个空数组
        return [];
      }

    删除cookie

    删除cookie最简单的办法就是给cookie的过期时间设置一个过去的时间,让他过期就好:

    let removeCookie=key=> {
        setCookie(key, "", -1);
      }
  • 相关阅读:
    Regex Expression的资料和笔记整理
    27个提升效率的iOS开源库推荐
    IOS-Swift、Objective-C、C++混合编程
    《极客学院 --NSAttributedString 使用详解-4-UITextKit 简介》学习笔记(待处理)
    前端开发学习网站
    为Xcode添加和备份快捷代码
    Swift语言与Objective-C语言混合编程
    《慕客网:IOS动画案例之会跳动的登入界面(下)》学习笔记 -Sketch的使用
    《慕客网:IOS动画案例之会跳动的登入界面(上)》学习笔记 -Sketch的使用
    关于移动端架构的好的学习网站
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/13802841.html
Copyright © 2011-2022 走看看