一、简介
Git源代码地址:
GitHub - carhartl/jquery-cookie: No longer maintained, superseded by JS Cookie:
Cookie常用属性
一个Cookie包含以下信息:
1)Cookie名称,Cookie名称必须使用只能用在URL中的字符,一般用字母及数字,不能包含特殊字符,如有特殊字符想要转码。如js操作cookie的时候可以使用escape()对名称转码。
2)Cookie值,Cookie值同理Cookie的名称,可以进行转码和加密。
3)Expires,过期日期,一个GMT格式的时间,当过了这个日期之后,浏览器就会将这个Cookie删除掉,当不设置这个的时候,Cookie在浏览器关闭后消失。
4)Path,一个路径,在这个路径下面的页面才可以访问该Cookie,一般设为“/”,以表示同一个站点的所有页面都可以访问这个Cookie。
5)Domain,子域,指定在该子域下才可以访问Cookie,例如要让Cookie在a.test.com下可以访问,但在b.test.com下不能访问,则可将domain设置成a.test.com。
6)Secure,安全性,指定Cookie是否只能通过https协议访问,一般的Cookie使用HTTP协议既可访问,如果设置了Secure(没有值),则只有当使用https协议连接时cookie才可以被页面访问。
7)HttpOnly,如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息。
二、常用操作
1.设置cookie的值
$.cookie("name",null);
2.新建一个cookie包括有效期、路径、域名等
$.cooke("the_name","the_value",{expires:7,path:"/",domain:"query.com",secure:true});
3.删除cookie
$.cookie('the_name',null);
4.Expire的默认为Session回话模式
$(document.body).dblclick(function () {
$.cookie('_token_', '测试'); //Expire的默认为Session回话模式,特别说明此模式下的Cookie需要等当前浏览器所有的窗口都关闭后才会过期
});
----使用实例
$(function () {
if ($.cookie("name") != null && $.cookie("pwd") != null)
{
$("#txtName").val($.cookie("name"));
$("#txtPwd").val($.cookie("pwd"));
$("#remember").attr("checked","checked");
}
$("#submit").click(function () {
var name = $("#txtName").val();
var pwd = $("#txtPwd").val();
var checked = $("#remember").attr("checked");
if (checked == "checked") {
$.cookie("name", name, {expires:2});
$.cookie("pwd", pwd, {expires:2});
alert('存入cookie');
}
else {
$.cookie("name", null);
$.cookie("pwd",null);
}
});
});
Html部分:
<body>
用户名:<input type="text" id="txtName"/><br />
密码:<input type="text" id="txtPwd"/>
<br /><br />
<input type="checkbox" name="remember" id="remember" /><label for="remember" >记住密码</label>
<input type="button" id="submit" value="submit"/>
</body>
三、Asp.Net Core 操作Cookie
在上下文中存储cookie
@{
//存储cookie
this.Context.Response.Cookies.Append("name","张三丰");
}
在上下文中获取cookie
@{
//获取从request请求中获取
string name = this.Context.Request.Cookies["name"];
}
更多: