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>

  

原文地址:https://www.cnblogs.com/xiao-xue-di/p/13802830.html