Cookie的使用(js-cookie插件) domain 設置和刪除

cookie是一個存儲在客戶端的字符串屬性,可以用它對當前網(wǎng)頁的cookie進行讀,寫,增.刪等操作;javascript能夠用document對象的cookie屬性對cookie進行操作;

js-cookie是一個簡單的,輕量級的處理cookies的js API

1、安裝,引入

npm install js-cookie --save
import Cookies from 'js-cookie'

2、存入

// Create a cookie, valid across the entire site:  
Cookies.set('name', 'value');  
   
// Create a cookie that expires 7 days from now, valid across the entire site:  
Cookies.set('name', 'value', { expires: 7 });  
   
// Create an expiring cookie, valid to the path of the current page:  
Cookies.set('name', 'value', { expires: 7, path: '' });  

3、取出

// Read cookie:  
Cookies.get('name'); // => 'value'  
Cookies.get('nothing'); // => undefined  
   
// Read all visible cookies:  
Cookies.get(); // => { name: 'value' }

4、刪除

// Delete cookie:  
Cookies.remove('name');  
   
// Delete a cookie valid to the path of the current page:  
Cookies.set('name', 'value', { path: '' });  
Cookies.remove('name'); // fail!  
Cookies.remove('name', { path: '' }); // removed!  
Cookies.remove('name', { path: '', domain: '' }); // removed!

5、命名空間

如果擔心不小心修改掉Cookies中的數(shù)據(jù),可以用noConflict方法定義一個新的cookie。

var Cookies2 = Cookies.noConflict();
Cookies2.set('name', 'value');

6、set方法的參數(shù)解釋

  1. 第一個:name,必選參數(shù),這個是cookie的變量名

  2. 第二:value,可選參數(shù),這個cookie變量的值

  3. 第三個:expire,可選參數(shù),這個是用來設置cookie變量保存的時間

  4. 第四個:path,cookie的有效范圍,這個參數(shù)是下一個參數(shù)domain基礎上的有效范圍,如果path設置為”/”,那就是在整個 domain都有效,比如setcookie(“user”,”php”,time()+3600,”/”),這樣我們domain下的任何目錄,任何文件都可以通過$_COOKIE['user']來調用這個cookie變量的值。如果path設置為”/test”,那么只在domain下的/test 目錄及子目錄才有效,比如domain下有兩個目錄: test1,test2,我們設置為setcookie(“user”,”php,time()+3600,”/test1″),那么只有test1目錄下才能通過$_COOKIE['user']調用user這個cookie變量的值,test2目錄下獲取不到。

  5. 第五個:domain,cookie有效的域名,
    如果domain,設置為googlephp.cn,那么在googlephp.cn下的所有子域都有效。假設googlephp.cn有兩個子域,php.googlephp.cn,css.googlephp.cn,我們設置為 setcookie(“user”,”php”,time()+3600,”/”,”php.googlephp.cn”),那么只有在 php.googlephp.cn這個子域下才能獲取user這個cookie變量的值. 再舉一個例子:setcookie(“user”,”php”,time()+3600,”/test”,”php.googlephp.cn”),那么只有在php.googlephp.cn這個子域下的test目錄下才能獲取user這個cookie變量的值.
    例如設成".hanj.com"則在.hanj.com下的所有服務器下的文件都可以調用cookie,在hanj的所有子域名下都可以訪問,實現(xiàn)跨站點通信
    Cookies.set("token", v, { domain: '.yuandaxia.com' });

    注意:通過domain設置的cookie清除的時候也必須使用domain清除
    Cookies.remove("token", { domain: '.yuandaxia.com' });

  6. secure
    true或false,表示cookie傳輸是否僅支持https。默認為不要求協(xié)議必須為https。:默認情況下為false;用http協(xié)議不安全傳輸;true:用https等協(xié)議安全傳輸.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容