Specifically, the cookie mechanism uses a solution that maintains state on the client side, while the session mechanism uses a solution that maintains state on the server side.
At the same time, we also see that since the solution of maintaining state on the server side also needs to save an identity on the client side, the session mechanism may need to use the cookie mechanism to achieve the purpose of saving the identity. , but it actually has other options.
Setting cookie
Each cookie is a name/value pair. You can assign the following string to the document .cookie:
document.cookie="userId=828";
If you want to store multiple name/value pairs at one time, you can use semicolons and spaces (; ) to separate them, for example:
document.cookie="userId=828; userName=hulk";
cannot be used in cookie names or values. Use semicolons (;), commas (,), equal signs (=), and spaces. It's easy to do this in the name of the cookie, but the value to be saved is undefined. How to store these values? The method is to use the escape() function to encode, which can use hexadecimal representation of some special symbols. For example, spaces will be encoded as "20%", which can be stored in the cookie value, and using this solution can also avoid The emergence of Chinese garbled characters. For example:
document.cookie="str="+escape("I love ajax");
Equivalent to:
document.cookie="str=I%20love%20ajax";
When using escape() encoding, after taking out the value, you need to use unescape() to decode to get the original cookie value. This has been introduced before Pass.
Although document.cookie looks like a property, it can be assigned different values. But it is different from general attributes. Changing its assignment does not mean losing the original value. For example, executing the following two statements continuously:
document.cookie="userId=828"; document.cookie="userName=hulk";
At this time, the browser will maintain two cookies, namely userId and userName, so assigning a value to document.cookie is more like executing a statement like this:
document.addCookie("userId=828"); document.addCookie("userName=hulk");
In fact, the browser sets cookies in this way. If you want to change the value of a cookie, just re- Assign a value, for example:
document.cookie="userId=929";
This will set the cookie value named userId to 929.
Get the value of the cookie
var strCookie=document.cookie;
Set the expiration date for cookies
document.cookie="userId=828; expires=GMT_String";
删除cookie 为了删除一个cookie,可以将其过期时间设定为一个过去的时间,例如:
ps: Jquery Cookie operation parameters:
Create A session cookie:删除cookie 为了删除一个cookie,可以将其过期时间设定为一个过去的时间,例如:
$.cookie(‘cookieName','cookieValue',{expires:7});
$.cookie(‘cookieName','cookieValue',{expires:7,path:'/'});
$.cookie(‘cookieName','cookieValue',{expires:7,path:'/',domain: ‘chuhoo.com',secure: false,raw:false});
Get cookie:
$.cookie(‘cookieName'); //如果存在则返回cookieValue,否则返回null。
删除cookie:
$.cookie(‘cookieName',null);
注:如果想删除一个带有效路径的cookie,如下:$.cookie(‘cookieName',null,{path:'/'});
The above is the detailed content of What are cookies in javascript? And detailed explanation of Document.Cookie usage. For more information, please follow other related articles on the PHP Chinese website!