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="width:200px;height:200px;font-size:30px"/><br><br> <script>post()</script> </body>
</html>
js获取cookie数据并发送给服务端的更多相关文章
- js获取cookie
js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- Node.js是一个事件驱动I/O服务端JavaScript环境
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎.目的是为了提供撰写可扩充网络程序,如Web服务.第一个版本由Ryan Dahl于2009年发布,后来,Jo ...
- node.js获取cookie
node.js 获取cookie var Cookies ={}; if (req.headers.cookie != null) { req.headers.cookie.split(';').fo ...
- 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回
今天,我教大家来搭建一个简单服务端 参考文章: https://www.jianshu.com/p/cb89d9ac635e https://www.cnblogs.com/jj-notes/p/66 ...
- Node.js:上传文件,服务端如何获取文件上传进度
内容概述 multer是常用的Express文件上传中间件.服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题.在SF上也有同学问了类似问题<nodejs multer有没有查看文件 ...
- fastadmin 随笔 刷新表格数据 获取当前登录人信息 服务端导出Excel
table.bootstrapTable('refresh',{url:'你的url'}); 获取当前登录人信息 $this->auth就能获取当前用户信息,比如$this->auth-& ...
- 数据同步canal服务端HA配置
canal服务端HA模式,本人并未使用过,为保证文章的完整性,从以下地址摘抄该部分内容,待以后验证及使用 https://github.com/alibaba/canal/wiki/AdminGuid ...
- 数据同步canal服务端介绍
1.下载安装包 canal&github的地址,最权威的学习canal相关知识的地方 https://github.com/alibaba/canal 在下面的wiki列表中找到AdminGu ...
随机推荐
- linux too many open files 问题总结
问题描述: kubernetes 集群使用promtail收集日志,发现一段时间有些机器日志收集不到查看promtail日志出现以下报错: error="filetarget.fsnotif ...
- IPC 方法分类
IPC 方法分类 进程间通信 shell out 被调用程序在执行完毕之前接管用户的键盘和显示,退出后,调用程序重新控制键盘和显示并继续运行. 专门程序通常有文件系统与父进程进行通信,方法是在指定位置 ...
- Pandas——Series and DataFrane
数据科学--pandas库 pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame.通过这两类数据,可以下载数据.可视化数据.和分析数据. Pandas安装:pip ins ...
- Docker学习笔记---通俗易懂
目录 Docker 简介 Docker安装 Docker的基本组成 安装Docker 配置阿里云镜像加速 回顾helloworld流程 工作原理 Docker的常用命令 帮助命令 镜像命令 容器命令 ...
- hdu3724 字典树(商品条形码)
题意: 给你一堆商品的名字,然后给你一些条形码,问你这些条形码转换成的字符串的 前缀在商品中出现的个数,条形码的每个字母是八个二进制数字,有两种数,大的是小的2倍,小的是0,大的是1,这里面 ...
- NSIS制作安装包笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
前言 做产品时,定制的自定义安装界面常有的,使用NSIS + Qt可以完美的定制基于QT的安装界面,先从纯NSIS开始,制作常规的安装包. 应用程序的发布方式 应用程序发布的时候,具备以下 ...
- Swift系列五 - 可选项
可选项,一般也叫可选类型,它允许将值设为nil. 一.定义可选项 平时开发中,如果我们需要把一个变量置空时只需要把变量赋值一个nil即可: 上面尝试后不行,那怎么把一个变量置空呢? 答案:把变量设置可 ...
- 一、jmeter基础介绍及http请求取样器
jmeter的下载安装这里不再赘述,百度都有, 1.jmeter是以线程的方式来运行的:2.通过非GUI运行对负载机的资源消耗更小:3.控制机.负载机 安装JDK时jdk路径与jmeter路径避免有中 ...
- XD to Flutter 2.0 现已发布!
Flutter 是 Google 的开源 UI 工具包.利用它,只需一套代码库,就能开发出适合移动设备.桌面设备.嵌入式设备以及 web 等多个平台的精美应用.过去几年,对于想要打造多平台应用的开发者 ...
- Django(7)url命名的作用
前言 为什么我们url需要命名呢?url命名的作用是什么?我们先来看一个案例 案例 我们先在一个Django项目中,创建2个App,前台front和后台cms,然后在各自app下创建urls.py文件 ...