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="width:200px;height:200px;font-size:30px"/><br><br> <script>post()</script> </body>
</html>

  

js获取cookie数据并发送给服务端的更多相关文章

  1. js获取cookie

    js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...

  2. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  3. Node.js是一个事件驱动I/O服务端JavaScript环境

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎.目的是为了提供撰写可扩充网络程序,如Web服务.第一个版本由Ryan Dahl于2009年发布,后来,Jo ...

  4. node.js获取cookie

    node.js 获取cookie var Cookies ={}; if (req.headers.cookie != null) { req.headers.cookie.split(';').fo ...

  5. 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回

    今天,我教大家来搭建一个简单服务端 参考文章: https://www.jianshu.com/p/cb89d9ac635e https://www.cnblogs.com/jj-notes/p/66 ...

  6. Node.js:上传文件,服务端如何获取文件上传进度

    内容概述 multer是常用的Express文件上传中间件.服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题.在SF上也有同学问了类似问题<nodejs multer有没有查看文件 ...

  7. fastadmin 随笔 刷新表格数据 获取当前登录人信息 服务端导出Excel

    table.bootstrapTable('refresh',{url:'你的url'}); 获取当前登录人信息 $this->auth就能获取当前用户信息,比如$this->auth-& ...

  8. 数据同步canal服务端HA配置

    canal服务端HA模式,本人并未使用过,为保证文章的完整性,从以下地址摘抄该部分内容,待以后验证及使用 https://github.com/alibaba/canal/wiki/AdminGuid ...

  9. 数据同步canal服务端介绍

    1.下载安装包 canal&github的地址,最权威的学习canal相关知识的地方 https://github.com/alibaba/canal 在下面的wiki列表中找到AdminGu ...

随机推荐

  1. BPM系统,工作流引擎,表单引擎常用30个功能与常见问题

    1.1:支持国际化 如果使用工具包的模式开发,支持国际化的工作由自己完成的. 如果使用Ccbpm 的前端,主要的功能页面已经支持, 后台的设置的页面全部中文,没有做支持国际化. 1.2:能单独部署,微 ...

  2. composer 使用提示

    1.使用国内镜像[推荐] composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 或者 comp ...

  3. Mysql 事务特性和隔离级别

    事务的特性 原子性(Atomicity) 一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到 ...

  4. 【JDK8】Java8 LocalDate操作时间和日期的API

    时间项目中的涉及到的时间处理非常多,犹豫SimpleDateFormat的不安全性以及Calendar等类在计算时比较复杂, 往往我们都会使用工具类来封装较多的日期处理函数, 但是JDK8中新增了操作 ...

  5. PAT 乙级 -- 1001 -- 害死人不偿命的(3n+1)猜想

    题目: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年 ...

  6. picpick截屏软件脱壳

    0x01 准备 OD 基本查壳软件 picpick可执行文件(不是快捷方式) 0x02 查壳 软件是2018年9月,还是比较新的 显示EP区段是.vmp1,没见过,不知道是压缩壳还是加密壳,搜索所示y ...

  7. SQLServer的XP_CmdShell提权

    当我们拿到了某个网站SQLServer数据库的SA权限用户密码的话,我们就可以使用XP_CmdShell提权了. 开启xp_cmdshell exec sp_configure 'show advan ...

  8. SpringMVC中<mvc:default-servlet-handler/>的作用

    问题所在:DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当成一个普通请求 ...

  9. CentOS安装Redis报错[server.o] Error 1

    原因 准备安装的Redis服务版本为6.0.8, gcc的版本为4.8.5,可能是gcc版本过低到导致的 解决办法 安装低版本Redis或者安装高版本gcc

  10. Yii2表头强制不换行

    在Yii2中使用GridView生成的表格有一个小问题,那就是表头的列宽是根据列的值自适应的,但有时值的长度比较小,表头就会出现下面这种情况(表头不在同一行,非常的不利于数据的查看) 设置强制不换行可 ...