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>