js cookies all in one

cookies


// http://10.1.5.202/auto-deploy-platform/publish/index.html // 非当前 URL 的 domain / path 下, 创建的 cookie 无法写入到当前的 域名/路径下
// domain 不同,cookie 不能写入
document.cookie = "token=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/; domain=cdn.xgqfrms.xyz;";
// path 不同(Ajax path),cookie 不能写入
document.cookie = "token=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/deployprod/;" // 当前 URL 的 domain & path 下, 创建的 cookie 可以写入到当前的 域名/路径下
// 默认 domain === 当前 URL 的 domain
document.cookie = "token=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/;";
// 当前 URL 的 domain & path 下,cookie 可以写入
document.cookie = "token_path1=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/auto-deploy-platform/;"
// 当前 URL 的 domain & path 下,cookie 可以写入
document.cookie = "token_path2=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/auto-deploy-platform/publish;"



function cookies() {
var D = new Date();
D.setDate(D.getDate() + 30);
document.cookie = "author=xgqfrms; website=www.xgqfrms.xyz; domain=xgqfrms.xyz; secure ;expire=" + D;
/*
// read cookie
var rc = document.cookie.substring(5);
if (rc != "www.xgqfrms.xyz") {
alert("cookie is empty!"+rc);
var D = new Date();
D.setDate(D.getDate()+30);
//write cookie
document.cookie="name=www.xgqfrms.xyz;domain=xgqfrms.xyz;HttpOnly;expire="+D;
}else{
alert("cookie is:"+rc);
}
*/
};
cookies();

view-source:https://www.xgqfrms.xyz/


cookies & url bug / domain bug???

URL 与 请求API 路经不一致,如何写入 cookie 并且请求 API 的时候带上 cookies ?

  1. 正常都是 URL 与 请求API 路经一一对应的
// URL (domain)
https://cdn.xgqfrms.xyz/json // API
https://cdn.xgqfrms.xyz/json/api/data.json

  1. jwt 添加一个 dev / prod 字段

// access_token=eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQWRtaW4iLCJleHBpcmVkIjoxNTM5ODQxMDQ2NjAwLCJ1c2VyX25hbWUiOiJhZG1pbiIsImVtYWlsIjoiaG9uZ2trQGdpbGRhdGEuY29tIn0.o453AHiAlgE90YHiCAOcPDn5__EfhB7ujaGtjx_xfqg"



{
"data": {
"cookies": "jwt_access_token",
"prod": false,
"dev": true
}
}


if(document.cookie !== "" && document.cookie.includes(`access_token`)) {
let token = JSON.parse(decodeURIComponent(atob(document.cookie.replace(`access_token=`, ``).split(`.`)[1])));
// console.log(`token =`, JSON.stringify(token, null, 4));
let {
// role,
user_name,
email
} = token;
sessionStorage.setItem(`email`, email);
layui.use(["element", "layer", "form"], function() {
let element = layui.element,
form = layui.form,
layer = layui.layer;
// layui
showRoleName(user_name);
logoutHandler();
modifyEmail();
modifyPassword();
});
} else {
swal({
title: "未登录用户,无权访问!",
text: `
请先登录后,再访问!\n
1 秒后自动关闭.
`,
icon: "warning",
className: "warning-alert-style",
timer: 2000,
button: {
text: "关闭",
value: true,
visible: true,
closeModal: true
}
});
setTimeout(() => {
autoRedirectToLogin();
}, 1000);
}

js cookies all in one的更多相关文章

  1. js cookies存取删操作实例

    //写cookies函数 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days = 30; //此 cookie 将被保存 ...

  2. js cookies的使用及介绍 (非常详细)

    设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie="userId=828";如果要一 ...

  3. js cookies 的写入、读取、删除

    //写cookies //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串.function setCookie(name,value) {     var Days ...

  4. js cookies

    cookie用於識別用戶,存儲在訪問者的計算機里,當用戶首次使用瀏覽器時,會發送cookie.用戶可以創建和獲取cookie. cookie可以存儲用戶名字.用戶密碼和訪問時間等. document. ...

  5. 百度静态资源(JS)公共库

         例如: chosen http://apps.bdimg.com/libs/chosen/1.1.0/chosen.jquery.min.js   classlist http://apps ...

  6. js 放置 cookie、获取 cookie、删除 cookie

    这块TM的删不掉 代码如下: // 自定义 js cookies var mycookie = { // 放置 set : function(name,value){ var Days = 1; // ...

  7. req、js

    requests库中,可不写为headers内各键值对的部分参数:   s=requests.Session()  #或.session() s.allow_redirects=False #禁止重定 ...

  8. 第三章、vue-项目前端 - vue配置 | axios配置 | cookies配置 | element-ui配置 | bootstrap配置

    目录 vue项目创建 环境 创建项目 重构项目目录 文件修订:目录中非配置文件的多余文件可以移除 全局配置:全局样式.配置文件 axios前后台交互 cookies操作 element-ui页面组件框 ...

  9. 当页面完全加载完成后执行一个JS函数

    方法1.如下程序,当页面完全加载后执行openTheIndexPage()方法  <html>  <head>  <meta http-equiv="Conte ...

随机推荐

  1. E20171225-hm

    abstract  adj. 抽象的,理论上的; 难解的; 抽象派的; 茫然的;

  2. Python基础 — Pandas

    Pandas -- 简介 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.        Pandas ...

  3. bzoj 1650: [Usaco2006 Dec]River Hopscotch 跳石子【贪心+二分】

    脑子一抽写了个堆,发现不对才想起来最值用二分 然后判断的时候贪心的把不合mid的区间打通,看打通次数是否小于等于m即可 #include<iostream> #include<cst ...

  4. Java多线程(十)线程间通信 join

    若果主线程想等待子线程执行完成之后再结束,可以用join方法 join 和sleep区别 join内部有wait实现,所以当执行join方法后,当前线程的锁被释放,那么其他线程就可以调用此线程的同步方 ...

  5. 思维+multiset ZOJ Monthly, July 2015 - H Twelves Monkeys

    题目传送门 /* 题意:n个时刻点,m次时光穿梭,告诉的起点和终点,q次询问,每次询问t时刻t之前有多少时刻点是可以通过两种不同的路径到达 思维:对于当前p时间,从现在到未来穿越到过去的是有效的值,排 ...

  6. 题解报告:hdu 1035 Robot Motion(简单搜索一遍)

    Problem Description A robot has been programmed to follow the instructions in its path. Instructions ...

  7. spring简介及常用术语

    1.引入 在开发应用时常会遇到如下问题: 1)代码耦合性高: 2)对象之间依赖关系处理繁琐: 3)事务控制繁琐: 2.Spring简介 1)Spring概述 什么是Spring: ①Spring是一个 ...

  8. win7如何设置自动关机

    如果想设置Win7按照自己意愿自动关机,而又不希望下载安装第三方软件,则可以通过以下两个方法来简单实现. 工具/原料 Windows7操作系统环境 方法1:利用cmd命令 1 打开cmd窗口. 方法一 ...

  9. 理解 CSS 布局和块级格式上下文

    前言 BFC 的概念始于 CSS2,是个蛮古老的 CSS 话题了,网上也到处能搜到 BFC 的介绍,但是都不够简洁.本文系翻译自 Rachel Andrew 女士的博文 Understanding C ...

  10. 3星|《哈佛商业评论》201708:IT项目风险之大远超你想象

    老牌管理学杂志.本期干货偏少,我评3星. 以下是本期一些信息的摘抄: 1:当我们调查被关闭餐馆周边的犯罪规律时,我们发现了与关闭药房同样的现象:被关闭餐馆周围财产犯罪和车内财物偷盗犯罪行为立即出现了上 ...