使用jQuery操作Cookies


轉載自:

 

 

https://www.cnblogs.com/yonge/articles/2698106.html

 

 

Cookies是一種能夠讓網站服務器把少量數據儲存到客戶端的硬盤或內存,或是從客戶端的硬盤讀取數據的一種技術。當你瀏覽某網站時,你硬盤上會生產一個非常小的文本文件,它可以記錄你的用戶ID、密碼、瀏覽過的網頁、停留的時間等信息。

當你再次來到該網站時,網站通過讀取Cookies,得知你的相關信息,就可以做出相應的動作,如在頁面顯示歡迎你的標語,或者讓你不用輸入ID、密碼就直接登錄等等。從本質上講,它可以看作是你的身份證。

使用傳統的Javascript來設置和獲取Cookies信息很麻煩,要寫上幾個函數來處理,幸運的是jQuery幫我們做了很多事,借助jQuery插件,我們可以輕松的創建、獲取和刪除Cookies。點擊這里下載cookies插件:http://plugins.jquery.com/project/Cookie

創建Cookie

使用jQuery設置cookie非常簡單。如,我們創建一個名為“example”,值為“foo”的cookie:

$.cookie("example", "foo");  

要設置cookie的有效期,可以設置expires值,如設置cookie的過期時間為10天:

$.cookie("example", "foo",{expires:10});  

設置cookie一小時后過期:

var cookietime = new Date(); 
cookietime.setTime(date.getTime() + (60 * 60 * 1000));//coockie保存一小時 
$.cookie("example", "foo",{expires:cookietime});  

要設置cookie的保存路徑,可以設置path值,如設置路徑為根目錄:

$.cookie("example", "foo",{path:"/"});  

如果要設置路徑為/admin,則:

$.cookie("example", "foo",{path:"/admin"});  

獲取cookie值

使用jQuery獲取cookie的值的方法那是相當的簡單,下面是彈出框顯示名為“example”的cookie的值:

alert($.cookie("example"));  

刪除Cookie

使用jQuery刪除cookie,只需要將cookie的值為null,注意如果設置值為空的字符串時,並不能刪除cookie,只是將cookie值清空而已。

$.cookie("example",null);  

cookie不同頁面訪問不到的問題

一般設置cookie的方法是setcookie(key, value, expire),參數分別的意思是建、值、過期時間,這里是大眾的默認設置方法,但是忽略了一個問題,setcookie還有path與domain可選參數,可以通過瀏覽器查看cookie的方法查看到path與domain

path的意思是存放的路徑,這個路徑決定訪問的權限。

比如你當前訪問服務器的路徑是/root/Index/Customer,則你只能訪問存放在path為/root/Index/Customer以及/root/Index/Customer下面所有目錄下的cookie,

就是你還可以訪問下級的,比如可以訪問/root/Index/Customer/Info/下的cookie,但是不能訪問上級的cookie,比如不能訪問/root/Index/

解決都可以訪問的方法是設置cookie的時候,顯式設置path,而且這個path的路徑最后是根目錄層,才可以訪問下級所有的cookie。

注意點:path的設置,最后不能缺少"/"


對於不同頁面訪問相同的cookie,可以設置對應path值相同,例如均為"/",但是要注意好cookie的管理,


PS:如果不知道怎么設置path,可以先用瀏覽器查看cookie的path,然后再設置就可以了




 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM