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>