• js获取cookie数据并发送给服务端


    js获取cookie数据并发送给服务端

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    
    <script type="text/javascript">
    function post(){
        // 设置cookie
        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
        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 所有的值
        let getCookieAll=()=> {
        //如果cookie中有数据  才可以获取数据
        let resList = [];
        const map = new Map();
        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("=");
            map.set(item[0], item[1]);
          }
          //如果cookie中 没有我们想获取的键值,直接返回一个空数组
          return map;
        }
        //如果cookie中没有数据,直接返回一个空数组
        return map;
      };
        // var setCookieData = setCookie('me', 'wzy', 1);
    
    
        var getCookieData = getCookieAll();
        console.log(getCookieData);
    
    
        //msp转object
        let obj= Object.create(null);
        for (let[k,v] of getCookieData) {
            obj[k] = v;
        }
        //object转json
        // obj = JSON.stringify(obj);
    
    
        // var postData = {
        // "username": "13321503898",
        // "password": "a123456",
        // "imsi":"wzy - 加载的时候执行"
        // };
    
        var postData = obj;
        var url = "http://xxx.xxx.xxx.xxx/appall/get/js/post/data";
        var xhr = new XMLHttpRequest();
        xhr.open("POST", url, true);
        xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xhr.send(JSON.stringify(postData));
    }
    
    
    </script>
    
    <input type="button" value="触发请求" onclick="post()" style="200px;height:200px;font-size:30px"/><br><br>
    
    
    <script>post()</script>
    
    </body>
    </html>
    

      

  • 相关阅读:
    UML中常用的几种图
    JVM调优问题与总结
    可视化算法学习网站
    [MacOS]查看端口占用进程
    [MacOS]停止"访达"操作,然后再次尝试推出磁盘
    [MacOS]蓝牙重置
    [CentOS7]扩充swap空间
    [5500V5]开启snmpv2
    [Cisco]MDS 9148S 开启snmp v2
    [CentOS7]测试udp端口
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/13802830.html
Copyright © 2020-2023  润新知