js获取cookie获取不到问题 vue获取cookie以及获取不到问题
生活随笔
收集整理的這篇文章主要介紹了
js获取cookie获取不到问题 vue获取cookie以及获取不到问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.下載依賴包
npm i js-cookie -S2.在使用cookie的頁面上進(jìn)行引入
import Cookies from 'js-cookie'3.使用
- 創(chuàng)建一個在整個網(wǎng)站上有效的Cookie
- Cookies.set('name', 'value');
- 創(chuàng)建一個從現(xiàn)在起7天后過期的cookie,在整個站點(diǎn)上有效:
- Cookies.set('name', 'value', { expires: 7 });
- 創(chuàng)建一個過期的cookie,對當(dāng)前頁面的路徑有效:
- Cookies.set('name', 'value', { expires: 7, path: '' });
- 讀取cookie:
- Cookies.get('name'); // => 'value' Cookies.get('nothing'); // => undefined
- 閱讀所有可見的Cookie
- Cookies.get(); // => { name: 'value' }
- 刪除cookie:
- Cookies.remove('name');
- 刪除對當(dāng)前頁面路徑有效的cookie:
- Cookies.set('name', 'value', { path: '' }); Cookies.remove('name'); // fail! Cookies.remove('name', { path: '' }); // removed!
重要!刪除cookie時,您必須傳遞用于設(shè)置cookie的完全相同的路徑和域?qū)傩?#xff0c;除非您依賴于默認(rèn)屬性。
注意:刪除未存在的cookie不會引發(fā)任何異常,也不會返回任何值
4.針對瀏覽器存在cookie,前端卻獲取不到的問題:
-
httpOnly默認(rèn)為true打?qū)μ枴糖闆r下,禁止javascript操作cookie,導(dǎo)致獲取不到,可以讓后端設(shè)置false;
-
后端使用node+koa,種客戶端一個cookie,但是在客戶端內(nèi)通過document.cookie獲取不了此cookie。經(jīng)查是由于koa通過ctx.cookies.set(name, value, [options])種的cookie是自動默認(rèn)帶httpOnly的,httpOnly是服務(wù)器可訪問 cookie, 默認(rèn)是 true。禁止javascript操作cookie(為避免跨域腳本(xss)攻擊,通過javascript的document.cookie無法訪問帶有HttpOnly標(biāo)記的cookie。)
所以通過在后端設(shè)置ctx.cookies.set(name, value, {httpOnly:false})關(guān)掉httponly即可。
總結(jié)
以上是生活随笔為你收集整理的js获取cookie获取不到问题 vue获取cookie以及获取不到问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows黑窗命令
- 下一篇: vuex的使用和封装