您好,登錄后才能下訂單哦!
這篇文章主要講解了“vue中怎么設置token本地緩存”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vue中怎么設置token本地緩存”吧!
localStorage 是 HTML5 中新加入的一個特性,它可以將數據存儲在客戶端本地,具有以下幾個優點:
與 Cookie 比較而言,localStorage 存儲的數據量更大,可以存儲 5MB 左右的數據;
存儲在 localStorage 中的數據不會隨著請求發往服務器端,這有助于節省請求帶寬,提升應用性能;
可以使用 localStorage 實現在客戶端本地對數據進行簡單的增刪改查操作。
在 Vue 應用中,我們通常需要在登錄后將用戶的 Token 值存儲到客戶端本地,這樣在用戶打開新頁面或者刷新頁面時依然能夠保持登錄狀態,而無需再次進行身份驗證。
下面是一個使用 localStorage 在 Vue 中進行 Token 緩存的示例代碼:
// 存儲 Token localStorage.setItem('token', 'xxxxxxxxxx'); // 獲取 Token let token = localStorage.getItem('token'); // 刪除 Token localStorage.removeItem('token');
其中,使用 localStorage 的 setItem 方法可以將 Token 值存儲到客戶端本地,getItem 方法可以獲取 Token 值,removeItem 方法可以將存儲的 Token 值從本地刪除。
因此,在 Vue 應用中,我們通常需要在用戶進行登錄后,將服務端返回的 Token 值存儲到 localStorage 中,以后的請求中,只要從 localStorage 中讀取 Token,就可以繼續使用之前的身份認證信息,從而順利通過身份認證。
下面是一個使用 axios 攔截器 + localStorage 進行 Token 驗證的示例代碼:
// 實例化 axios 對象 const axiosInstance = axios.create({ baseURL: 'https://api.example.com' }); // 添加 request 攔截器 axiosInstance.interceptors.request.use((config) => { // 從 localStorage 中獲取 Token let token = localStorage.getItem('token'); // 配置請求頭包含 Token if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }, (error) => { return Promise.reject(error); }); // 添加 response 攔截器 axiosInstance.interceptors.response.use((response) => { if (response.data.code === '401') { // 如果返回的狀態碼為 401(未授權),則從 localStorage 中刪除 Token,并跳轉到登錄頁面重新認證 localStorage.removeItem('token'); router.push({name: 'login'}); } return response; }, (error) => { return Promise.reject(error); }); export default axiosInstance;
在這段示例代碼中,通過 axios.interceptors.request 添加請求攔截器,在發送請求前從 localStorage 中讀取 Token 值,并將 Token 添加到請求頭中,這樣在后臺進行身份認證時就能夠識別當前請求訪問的用戶是誰。而在響應攔截器中,如果返回的狀態碼為未授權,則從 localStorage 中刪除 Token 值,并跳轉到登錄頁面重新認證。
感謝各位的閱讀,以上就是“vue中怎么設置token本地緩存”的內容了,經過本文的學習后,相信大家對vue中怎么設置token本地緩存這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。