js操作cookie

Cookie
Cookie 基础知识
我们已经知道,在 document 对象中有一个 cookie 属性。

但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie。

”——MSIE 帮助。

一般来说,Cookies 是 CGI 或类似,比HTML 高级的文件、程序等创建的,但是 JavaScript 也提供了对 Cookies 的很全面的访问权利。

在继续之前,我们先要学一学 Cookie 的基本知识。

每个 Cookie 都是这样的:cookie名=cookie值;cookie本身仅仅是一个字符串,是一组名值对;多组名值对用分号加空格分隔!
"cookie名"的限制与 JavaScript 的命名限制大同小异,少了“不能用JavaScript 关键字”,多了“只能用可以用在 URL 编码中的字符”。

后者比较难懂,但是只要你只用字母和数字命名,就完全没有问题了。

“值”的要求也是“只能用可以用在 URL 编码中的字符”。

每个 Cookie 都有失效日期,一旦电脑的时钟过了失效日期,这个 Cookie 就会被删掉。

我们不能直接删掉一个 Cookie,但是可以用设定失效日期早于现在时刻的方法来间接删掉它。

每个网页,或者说每个站点,都有它自己的 Cookies,这些 Cookies 只能由这个站点下的网页来访问,来自其他站点或同一站点下未经授权的区域的网页,是不能访问的。

每一“组”Cookies 有规定的总大小(大约 2KB 每“组”),一超过最大总大小,则最早失效的 Cookie 先被删除,来让新的Cookie“安家”。

访问Cookie
document.write(document.cookie);//输出类似"name1=value1; name2=value2; name3=value3"的字符串
document.write(typeof document.cookie);//cookie仅仅是个字符串
但这样获取到的是一堆混乱的字符串,必须对其进行处理才能知道它的含义!在类似ASP或PHP这样的服务器端脚本中,往往设置cookie十分简单
//ASP
response.cookies("cookieName")="cookieValue"
//PHP
setcookie("cookieName","cookieValue");
解析Cookie名值对
方案一:直接截取字符串
function getCookie(cookieName) {
var start = document.cookie.indexOf(cookieName+"=");
if (start ==-1) {return "";}
start = start+cookieName.length+1;
var end = document.cookie.indexOf(";",start);
if (end=-1) {end = document.cookie.length;}
return document.cookie.substring(start,end);
}
方案二:将Cookie拆分为数组,通过遍历取得
function getCookie(cookieName) {
var cookies=document.cookie.split("; ");//一个分号加一个空格
if (!cookies.length) {return "";}
var pair=["",""];
for (var i=0;i< cookies.length;i++) {
pair = cookies[i].split("=");//以赋值号分隔,第一位是Cookie名,第二位是Cookie值
if (pair[0]==cookieName) {
break;
}
}
return pair[1];
}
方案三:使用正则表达式解析
function getCookie(cookieName) {
var re = new RegExp("\\b"+cookieName+"=([^;]*)\\b");
var arr = re.exec(document.cookie);
return arr?arr[1]:"";
}
设置Cookie
一个Cookie包含以下信息:
∙Cookie名称,Cookie名称必须使用只能用在URL中的字符,一般用字母及数字
∙Cookie值,Cookie值同样也只能使用可以用在URL中的字符,一般需要在设置Cookie值时对其使用encodeURI方法进行转义
∙Expires,过期日期,一个GMT格式的时间,当过了这个日期之后,浏览器就会将这个Cookie删除掉,当不设置这个的时候,Cookie在浏览器关闭后消失
∙Path,一个路径,在这个路径下面的页面才可以访问该Cookie,一般设为“/”,以表示同一个站点的所有页面都可以访问这个Cookie ∙Domain,子域,指定在该子域下才可以访问Cookie,例如要让Cookie在下可以访问,但在下不能访问,则可
将domain设置成
∙Secure,安全性,指定Cookie是否只能通过https协议访问,一般的Cookie使用HTTP协议既可访问,如果设置了Secure(没有值),则只有当使用https协议连接时cookie才可以被页面访问
注意:Cookie安全机制要求站点页面只能访问本站点的Cookie,不能访问其它站点的Cookie。

同时,最好在设置Cookie时使用encodeURI对象进行URI编码,在取出Cookie时再使用decodeURI对其进行解码!
设置一个完整Cookie示例
var expires = new Date();
expires.setMonth(expires.getMonth()+1);//一个月后Cookie失效
document.cookie = "userName="+encodeURI("用户名")+"; expires="+
expires.toGMTString()+"; path=/; domain=; secure";
每次设置document.cookie值时如果该Cookie名称并不存在,则新增一个Cookie,如果已经存在,则修改以前的值!
document.cookie ="a=1";//新增一个名称为a的Cookie
document.cookie = "b=2";//新增一个名称为b的Cookie,原来的Cookie安然无恙
document.cookie = "a=3";//将原来的名称为a的Cookie值修改为3
setCookie函数
function setCookie(name,value,expires,domain,secure) {
var str = name+"="+encodeURI(value);//不要忘了在对应getCookie函数里面加上decodeURI方法
if (expires) {
str += "; expires="+expires.toGMTString();
}
if (path) {
str += "; path="+path;
}
if (domain) {
str += "; domain="+domain;
}
if (secure) {
str += "; secure";
}
document.cookie = str;
}
删除Cookie
没有删除Cookie的直接的方法,但可以变通一下来删除Cookie!
function delCookie(cookieName) {
var expires = new Date();
expires.setTime(expires.getTime()-1);//将expires设为一个过去的日期,浏览器会自动删除它
document.cookie = cookieName+"=;
expires="+expires.toGMTString();
}。

合集下载

轻量级JSCookie插件js-cookie的使用方法

轻量级JSCookie插件js-cookie的使用方法

轻量级JSCookie插件js-cookie的使⽤⽅法Cookie是⽹站设计者放置在客户端的⼩⽂本⽂件,⼀般后台语⾔使⽤的⽐较多,可以实现⽤户个性化的⼀些需求。

js-cookie 插件是⼀个JS操作cookie的插件,源⽂件只有3.34 KB,⾮常轻量级。

js-cookie也⽀持npm和Bower安装和管理。

下⾯看看js-cookie的具体⽤法。

A simple, lightweight JavaScript API for handling cookiesWorks in all browsersAccepts any characterHeavily testedNo dependencyUnobtrusive JSON supportSupports AMD/CommonJSRFC 6265 compliantUseful WikiEnable custom encoding/decoding~900 bytes gzipped!引⽤⽅法:1、引⼊js-cookie.js1.直接饮⽤cdn:<script src="https:///npm/js-cookie@2/src/js.cookie.min.js"></script>2.本地下载下来后:<script src="/path/to/js.cookie.js"></script>3.模块化开发时: import Cookies from 'js-cookie'2、js-cookie.js常⽤的API和⽅法a、设置cookieCookies.set('name', 'value', { expires: 7, path: '' });//7天过期Cookies.set('name', { foo: 'bar' });//设置⼀个jsonb、读取cookieCookies.get('name');//获取cookieCookies.get(); #读取所有的cookiec、删除cookieCookies.remove('name'); #删除cookie时必须是同⼀个路径。

JS设置cookie,删除cookie

JS设置cookie,删除cookie

JS设置cookie,删除cookiejs设置cookie有很多种⽅法。

第⼀种:(这个是w3c官⽹的代码)<script>//设置cookiefunction setCookie(cname, cvalue, exdays) {var d = new Date();d.setTime(d.getTime() + (exdays*24*60*60*1000));var expires = "expires="+d.toUTCString();document.cookie = cname + "=" + cvalue + "; " + expires;}//获取cookiefunction getCookie(cname) {var name = cname + "=";var ca = document.cookie.split(';');for(var i=0; i<ca.length; i++) {var c = ca[i];while (c.charAt(0)=='') c = c.substring(1);if (c.indexOf(name) != -1) return c.substring(name.length, c.length);}return"";}//清除cookiefunction clearCookie(name) {setCookie(name, "", -1);}function checkCookie() {var user = getCookie("username");if (user != "") {alert("Welcome again " + user);} else {user = prompt("Please enter your name:", "");if (user != "" && user != null) {setCookie("username", user, 365);}}}checkCookie();</script>第⼆种:<script>//JS操作cookies⽅法!//写cookiesfunction setCookie(c_name, value, expiredays){ var exdate=new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); }//读取cookiesfunction getCookie(name){var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");if(arr=document.cookie.match(reg))return (arr[2]);elsereturn null;}//删除cookiesfunction delCookie(name){var exp = new Date();exp.setTime(exp.getTime() - 1);var cval=getCookie(name);if(cval!=null)document.cookie= name + "="+cval+";expires="+exp.toGMTString();}//使⽤⽰例setCookie('username','Darren',30)alert(getCookie("username"));</script>第三个例⼦<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><head><script language="JavaScript" type="text/javascript">function addCookie(objName, objValue, objHours){//添加cookievar str = objName + "=" + escape(objValue);if (objHours > 0) {//为0时不设定过期时间,浏览器关闭时cookie⾃动消失var date = new Date();var ms = objHours * 3600 * 1000;date.setTime(date.getTime() + ms);str += "; expires=" + date.toGMTString();}document.cookie = str;alert("添加cookie成功");}function getCookie(objName){//获取指定名称的cookie的值var arrStr = document.cookie.split("; ");for (var i = 0; i < arrStr.length; i++) {var temp = arrStr[i].split("=");if (temp[0] == objName)return unescape(temp[1]);}}function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为⼀个过去的时间var date = new Date();date.setTime(date.getTime() - 10000);document.cookie = name + "=a; expires=" + date.toGMTString();}function allCookie(){//读取所有保存的cookie字符串var str = document.cookie;if (str == "") {str = "没有保存任何cookie";}alert(str);}function $(m, n){return document.forms[m].elements[n].value;}function add_(){var cookie_name = $("myform", "cookie_name");var cookie_value = $("myform", "cookie_value");var cookie_expireHours = $("myform", "cookie_expiresHours");addCookie(cookie_name, cookie_value, cookie_expireHours);}function get_(){var cookie_name = $("myform", "cookie_name");var cookie_value = getCookie(cookie_name);alert(cookie_value);}function del_(){var cookie_name = $("myform", "cookie_name");delCookie(cookie_name);alert("删除成功");}</script></head><body><form name="myform"><div><label for="cookie_name">名称</label><input type="text" name="cookie_name" /></div><div><label for="cookie_value">值</lable><input type="text" name="cookie_value" /></div><div><label for="cookie_expireHours">多少个⼩时过期</lable><input type="text" name="cookie_expiresHours" /></div><div><input type="button" value="添加该cookie" onclick="add_()"/><input type="button" value="读取所有cookie" onclick="allCookie()"/><input type="button" value="读取该名称cookie" onclick="get_()"/><input type="button" value= </div></form></body></html>注意:chrome浏览器在本地获取不到cookie。

[JS]九种网页弹窗代码

[JS]九种网页弹窗代码

[JS]九种⽹页弹窗代码【1、最基本的弹出窗⼝代码】其实代码⾮常简单:<SCRIPT LANGUAGE="javascript"><!--window.open ("page.html")--></SCRIPT>因为着是⼀段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE="javascript">标签和</script>之间。

<!-- 和 -->是对⼀些版本低的浏览器起作⽤,在这些⽼浏览器中不会将标签中的代码作为⽂本显⽰出来。

要养成这个好习惯啊。

window.open (page.html) ⽤于控制弹出新的窗⼝page.html,如果page.html不与主窗⼝在同⼀路径下,前⾯应写明路径,绝对路径(http://)和相对路径(../)均可。

⽤单引号和双引号都可以,只是不要混⽤。

这⼀段代码可以加⼊HTML的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执⾏,尤其是页⾯代码长,⼜想使页⾯早点弹出就尽量往前放。

【2、经过设置后的弹出窗⼝】下⾯再说⼀说弹出窗⼝的设置。

只要再往上⾯的代码中加⼀点东西就可以了。

我们来定制这个弹出的窗⼝的外观,尺⼨⼤⼩,弹出的位置以适应该页⾯的具体情况。

<SCRIPT LANGUAGE="javascript"><!--window.open ("page.html, newwindow, height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, status=no")file://写成⼀⾏--></SCRIPT>参数解释:<SCRIPT LANGUAGE="javascript"> js脚本开始;window.open 弹出新窗⼝的命令;page.html 弹出窗⼝的⽂件名;newwindow 弹出窗⼝的名字(不是⽂件名),⾮必须,可⽤空代替;height=100 窗⼝⾼度;width=400 窗⼝宽度;top=0 窗⼝距离屏幕上⽅的象素值;left=0 窗⼝距离屏幕左侧的象素值;toolbar=no 是否显⽰⼯具栏,yes为显⽰;menubar,scrollbars 表⽰菜单栏和滚动栏。

js-cookie的使用domain用法

js-cookie的使用domain用法

js-cookie的使用domain用法JS-Cookie是一个简便易用的JavaScript库,用于在浏览器中设置和获取HTTP cookies。

当我们设置一个cookie时,它会存储在用户的浏览器中,并且每次用户访问网站时都会被发送到服务器。

domain属性用于设置cookie的域名。

通过设置domain属性,我们可以控制cookie在哪些域名下可用。

然而,有时我们希望cookie在跨域名访问时也可用。

这是我们可以使用domain属性。

通过设置cookie的domain属性,我们可以指定cookie在多个域名下可用。

下面是JS-Cookie的用法示例:```javascript// 设置cookie// 获取cookievar value = Cookies.get('name');``````javascript// 设置cookie在所有子域名下可用```需要注意的是,当我们设置domain属性时,需要确保它与当前网站的域名匹配。

否则,浏览器会忽略这个cookie。

另外,还需要注意的是,使用domain属性设置的cookie并不是绝对安全的。

因为当我们指定一个较大的域名范围时,其他网站也可以访问该cookie。

因此,我们应该谨慎使用domain属性,确保我们只将cookie设置为在需要的域名下可用。

总结:- 通过设置domain属性,我们可以控制cookie在哪些域名下可用。

- 可以使用具体的域名,或者使用通配符来设置domain属性。

- 使用domain属性时要确保与当前网站的域名匹配。

- 谨慎使用domain属性,确保cookie只在需要的域名下可用。

jquery设置cookie、删除cookie、获取cookie

jquery设置cookie、删除cookie、获取cookie

jquery设置cookie、删除cookie、获取cookie1.引⼊jquery.js<script src="///jquery/1.12.4/jquery.js"></script>2.引⼊jquery cookie插件<script src="///jquery-cookie/1.4.1/jquery.cookie.min.js"></script>3.调⽤插件封装好的⽅法a)设置新的cookie:$.cookie('name','dumplings'); //设置⼀个值为'dumplings'的cookie设置cookie的⽣命周期$.cookie('key', 'value', { expires: 7 }); //设置为7天,默认值:浏览器关闭设置cookie的域名:$.cookie('name','dumplings', {domain:''}); //设置⼀个值为'dumplings'的在域名''的cookie设置cookie的路径:$.cookie('name','dumplings', {domain:'',path:'/'});//设置⼀个值为'dumplings'的在域名''的路径为'/'的cookieb)删除cookie$.removeCookie('name',{ path: '/'}); //path为指定路径,直接删除该路径下的cookie$.cookie('name',null,{ path: '/'}); //将cookie名为‘openid’的值设置为空,实际已删除c)获取cookie$.cookie('name') //dumplings踩过的坑:cookie的域名和路径都很重要,如果没有设置成⼀致,则会有不同域名下或者不同路径下的同名cookie,为了避免这种情况,建议在设置cookie和删除cookie的时候,配置路径和域名。

js获取cookie值的方法

js获取cookie值的方法

js获取cookie值的方法JavaScript获取cookie值的方法。

在Web开发中,我们经常需要使用cookie来存储和获取用户的信息。

而JavaScript作为前端开发的重要工具,也提供了多种方法来获取cookie的值。

本文将介绍几种常用的JavaScript获取cookie值的方法,希望能对你有所帮助。

方法一,使用document.cookie。

JavaScript中最简单的获取cookie值的方法就是使用document.cookie属性。

该属性返回当前文档的所有cookie,格式为键值对的字符串,我们可以通过解析字符串来获取特定的cookie值。

示例代码如下:```javascript。

function getCookie(name) {。

var cookieArr = document.cookie.split("; ");for (var i = 0; i < cookieArr.length; i++) {。

var arr = cookieArr[i].split("=");if (arr[0] === name) {。

return arr[1];}。

}。

return "";var username = getCookie("username");console.log(username);```。

方法二,使用正则表达式。

除了使用split方法来解析document.cookie字符串外,我们还可以使用正则表达式来获取特定的cookie值。

这种方法通常更灵活,能够更精确地匹配cookie名称。

示例代码如下:```javascript。

function getCookie(name) {。

var reg = new RegExp("(^| )"+name+"=([^;])(;|$)");var arr = document.cookie.match(reg);if (arr) {。

JAVA操作COOKIE

JAVA操作COOKIE 收藏1.设置CookieCookie cookie = new Cookie("key", "value");cookie.setMaxAge(60);设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。

cookie.setPath("/test/test2");设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath() + web.xml里配置的该Servlet的url-pattern路径部分)response.addCookie(cookie);2.读取Cookie该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,如果没有任何Cookie 的话,则返回nullCookie[] cookies = request.getCookies();3.删除CookieCookie cookie = new Cookie("key", null);cookie.setMaxAge(0);设置为0为立即删除该Cookiecookie.setPath("/test/test2");删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookieresponse.addCookie(cookie);4.修改CookieCookie[] cookies=request.getCookies();if(cookies.length>1){for(int i=0;i<cookies.length;i++){if(cookies[i].getName().equals("key")) {String oldValue = cookies[i].getValue();String newValue= "newValue";cookies[i].setValue(newValue);response.addCookie(cookies[i]);break;}}}===============================================================1.实现两个网站和共用Cookies2.添加CookiesCookie cookie = new Cookie("name", "wangwz");cookie.setPath("/");//这个要设置cookie.setDomain("");//这个也要设置才能实现上面的两个网站共用cookie.setMaxAge(365*24*60*60);//不设置的话,则cookies不写入硬盘,而是写在内存,只在当前页面有用,以秒为单位response.addCookie(cookie);cookie = new Cookie("nick", URLEncoder.encode("王伟宗","UTF-8"));cookie.setPath("/");cookie.setDomain("");cookie.setMaxAge(365*24*60*60);response.addCookie(cookie);3.获取cookiesCookie cookies[] = request.getCookies();if (cookies != null){for (int i = 0; i < cookies.length; i++){if (cookies[i].getName().equals("nick")){System.out.println(URLDecoder.decode(cookies[i].getValue(),"UTF-8"));}}}4.删除cookiesCookie cookies[] = request.getCookies();if (cookies != null){for (int i = 0; i < cookies.length; i++){if (cookies[i].getName().equals("nick")){Cookie cookie = new Cookie("nick","");//这边得用"",不能用nullcookie.setPath("/");//设置成跟写入cookies一样的cookie.setDomain("");//设置成跟写入cookies一样的response.addCookie(cookie);}}}================================================================================================================应用实例<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="" %><%@ page import=".URLDecoder" %> //注意导入此包<%Cookie cookie=new Cookie("hi","welcome");response.addCookie(cookie);Cookie[] cookies=request.getCookies();if(cookies!=null){for(int i=0;i<cookies.length;i++){if(cookies[i].getName().equals("hi")){String cookieValue=URLDecoder.decode(cookies[i].getValue(),"utf-8");out.print("hi="+cookieValue);}}}else{out.print(" no cookie");}%>Javascript操纵Cookie实现购物车程序2008-04-29 22:04Name 购物车Version 1.1Author Vanni(凡林) url: QQ:303590170 CreateDate 2005-05-31Description此类是基于JavaScript和客户端Cookie,请保证客户端开启Cookie数据保持(默认24*30小时)可以通过 this.expire=? 小时来指定类中两自带的两个对象 typeObj 和 proObj 均有两个相同属性名: name 和value类中数据存储形式如下-----------------------------------Array(new typeObj('汽车',array(new porObj('三菱',200),new proObj('本田',500))),new typeObj('蛋',array(new proObj('鸡蛋',10),new proObj('鸭蛋',20))}Cookie 存取形式为[使用escape()函数加密过]--------------购物车名 = 汽车#三菱:200|本田:500,蛋#鸡蛋:10|鸭蛋:20注意:客户端存Cookie时,不会出现问题。

JS浏览器cookie的设置,读取,删除

JS浏览器cookie的设置,读取,删除JavaScript是运⾏在客户端的脚本,因此⼀般是不能够设置Session的,因为Session是运⾏在服务器端的。

⽽cookie是运⾏在客户端的,所以可以⽤JS来设置cookie.假设有这样⼀种情况,在某个⽤例流程中,由A页⾯跳⾄B页⾯,若在A页⾯中采⽤JS⽤变量temp保存了某⼀变量的值,在B页⾯的时候,同样需要使⽤JS来引⽤temp的变量值,对于JS中的全局变量或者静态变量的⽣命周期是有限的,当发⽣页⾯跳转或者页⾯关闭的时候,这些变量的值会重新载⼊,即没有达到保存的效果。

解决这个问题的最好的⽅案是采⽤cookie来保存该变量的值,那么如何来设置和读取cookie 呢?⾸先需要稍微了解⼀下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。

各个cookie之间⼀般是以“;”分隔。

<!doctype html><html><head><meta charset="UTF-8"><title>关于Cookie</title><script>/*cookie:存储数据,当⽤户访问了某个⽹站(⽹页)的时候,我们就可以通过cookie来像访问者电脑上存储数据;1、不同的浏览器存放的cookie位置不⼀样,也是不能通⽤的;2、cookie的存储是以域名的⽅式进⾏区分的;3、cookie的数据是可以设置名字的,=Jack4、⼀个域名下存放的cookie的个数是有限制的,不同浏览器存放的个数不⼀样;5、每个cookie存放的内容⼤⼩也是限制的,不同的浏览器存放⼤⼩限制不⼀样;我们通过document.cookie来获取当前⽹站下的cookie的时候,得到的是字符串的形式的值,它包含了当前⽹站下的所有cookie,它会把所有cookie通过⼀个分号+空格的形式串联起来。

vue项目中js-cookie的使用存储token操作

vue项⽬中js-cookie的使⽤存储token操作1、安装js-cookie# npm install js-cookie --save# yarn add js-cookie2、引⽤(需要的⽂件)import Cookies from 'js-cookie'const TokenKey = 'Admin-Token'export function getToken() {return Cookies.get(TokenKey)}export function setToken(tcuncuoken) {return Cookies.set(TokenKey, token)}export function removeToken() {return Cookies.remove(TokenKey)}3、浏览器cookie4、也可以存储其他const user = {name: 'lia',age: 18}Cookies.set('user', user)const liaUser = JSON.parse(Cookies.get('user'))补充知识:vue 实现记住密码功能,⽤户信息在客户端加密存储效果图:功能详解:⽤户登录时,勾选记住密码,系统会将登录信息存⼊浏览器cookie中,下次登录时系统会⾃动将信息回写在输⼊框中(默认设置保存时间为3天,此处需要将密码进⾏加密处理,以提⾼安全性)1.定义页⾯元素,v-model绑定变量2.3.引⼊vue的加密组件 CryptoJS,执⾏这条命令,系统会⾃动安装npm install crypto-js安装成功后,还需在登录页⾯引⼊组件4.定义操作cookie的三个⽅法,后⾯需要⽤到,代码我贴出来/************* Cookie start ***************/clearCookie(cookieName) {var exp = new Date();exp.setTime(exp.getTime() - 1);var cval = this.getCookie(cookieName);if (cval != null) {document.cookie = cookieName + "=" + cval + ";expires=" + exp.toGMTString();}},setCookie(cookieName, value, expiremMinutes) {var exdate = new Date();exdate.setTime(exdate.getTime() + expiremMinutes * 60 * 1000);document.cookie = cookieName + "=" + escape(value) + ((expiremMinutes == null) ? "" : ";expires=" + exdate.toGMTString());},getCookie(cookieName) {if (document.cookie.length > 0) {var c_start = document.cookie.indexOf(cookieName + "=");if (c_start != -1) {c_start = c_start + cookieName.length + 1;var c_end = document.cookie.indexOf(";", c_start);if (c_end == -1)c_end = document.cookie.lengthreturn unescape(document.cookie.substring(c_start, c_end))}}return ""},/*************Cookie end***************/5.在登录⽅法中判断记住密码是否有被勾选,如果有,则需要将账号密码信息存⼊cookie中,没有,则调⽤上⾯的⽅法清除cookie信息,关键步骤我已标记,登录⽅法在下⾯:/************* 登录 start ***************/signIn() {let _this = this;//判断是密码登录还是短信登录if (_this.indexd == 0) {_this.$refs['ruleForm'].validate((valid) => {if (valid) {//定义要存⼊cookie的对象var accountInfo = "";//拿到输⼊框中的密码,使⽤AES加密var pwd = _this.form.pwd;var newPwd = CryptoJS.AES.encrypt(pwd,'secret key 123');//若勾选记住密码if (_this.checked == true) {console.log("选择记住密码,checked == true");accountInfo = _ + "&" + newPwd; //将加密后的密码存⼊cookie对象中_this.setCookie('accountInfo',accountInfo,1440*3); //传⼊账号名,密码,和保存天数3个参数(3天)}else {console.log("清空Cookie");_this.clearCookie('accountInfo'); //清空Cookie}let params = {"username": _,"password": _this.form.pwd,"vCode": _this.form.imgCode,"loginToken": _this.loginToken,};post('/login/login', params).then(function (response) {if (response.data.code == "20000") {sessionStorage.setItem("v-token", response.data.data.token);sessionStorage.setItem("v-menu", JSON.stringify(response.data.data.routers));sessionStorage.setItem("v-user", JSON.stringify(response.data.data.currentUser));//_this.makeRouters(response.data.data.routers);_this.$message({message: '登录成功',type: 'success'});_this.clearCookie("login_token");//清除token//平台if (response.data.data.currentUser.type == 0) {//平台_this.$router.push('/index');} else if (response.data.data.currentUser.type == 1 || response.data.data.currentUser.type == 3 || response.data.data.currentUser.type == 2) { //渠道商_this.$router.push('/operate');} else {//证券商_this.$router.push('/AoInformationManagement')}} else if (response.data.code == "50000") {_this.$message.warning(response.data.msg);_this.changeCode();}}).catch(function (err) {_this.$message.error(err);_this.changeCode();})}});}}5.选择记住密码,登录系统后,可以在调试模式中查看cookie信息,如图:6.退出系统后,需要判断cookie有⽆账号信息,如果有,则进⾏回写,下⾯是我的⽅法:在钩⼦⽅法中调⽤下⾯的loadAccountInfo回写⽅法//预读取cookie中⽤户信息loadAccountInfo(){let self = this;//admin%26U2FsdGVkX1+/ZtAGWFVi37gNwA7TUZmQM+yazInCPxs%3Dlet accountInfo = self.getCookie('accountInfo');//如果cookie⾥没有账号信息if(Boolean(accountInfo) == false){console.log('cookie中没有检测到⽤户账号信息!');return false;} else{//如果cookie⾥有账号信息console.log('cookie中检测到账号信息!现在开始预填写!');let userName = "";let passWord = "";let index = accountInfo.indexOf("&");userName = accountInfo.substring(0,index);passWord = accountInfo.substring(index+1); //拿到加密后的密码//解密var bytes = CryptoJS.AES.decrypt(passWord.toString(),'secret key 123');//拿到解密后的密码(登录时输⼊的密码)var newpassWord = bytes.toString(CryptoJS.enc.Utf8); = userName;self.form.pwd = newpassWord;self.checked = true;}},7.最后效果就是这样以上这篇vue项⽬中js-cookie的使⽤存储token操作就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

js cookie写法 -回复

js cookie写法-回复如何使用JavaScript 中的cookie在Web 开发过程中,cookie 是一种在客户端存储数据的方式,它可以在客户端和服务器之间传递信息。

JavaScript 提供了许多操作cookie 的方法,本文将一步一步地回答如何使用JavaScript 中的cookie。

步骤一:设置cookie在JavaScript 中,我们可以使用`document.cookie` 来设置cookie。

cookie 是一个字符串,包含多个键值对。

下面是一个设置cookie 的示例代码:javascriptdocument.cookie = "username=John Doe";在上面的代码中,我们设置了一个名为`username` 的cookie,其值为`John Doe`。

请注意,这个cookie 是在当前域名下创建的。

步骤二:获取cookie要获取cookie 的值,我们可以使用`document.cookie` 来获取当前域名下的所有cookie。

下面是一个获取cookie 值的示例代码:javascriptvar cookies = document.cookie;console.log(cookies);在上面的代码中,我们将所有的cookie 存储在`cookies` 变量中,并将其打印到控制台。

步骤三:设置cookie 过期时间默认情况下,cookie 是在浏览器关闭时过期。

但是,我们可以通过设置`expires` 属性来指定cookie 的过期时间。

下面是一个设置cookie 过期时间的示例代码:javascriptvar d = new Date();d.setTime(d.getTime() + (7 * 24 * 60 * 60 * 1000));var expires = "expires=" + d.toUTCString();document.cookie = "username=John Doe;" + expires;在上面的代码中,我们创建了一个`Date` 对象并将其时间设置为当前时间加上七天。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档