最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue全局攔截所有請求并在請求頭中添加token方式

 更新時間:2024年08月28日 16:21:16   作者:三七有脾氣  
這篇文章主要介紹了Vue全局攔截所有請求并在請求頭中添加token方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Vue全局攔截所有請求并在請求頭中添加token

在實際的項目中,為了登錄的安全,token是必不可少的,所以就需要前后端配合,后端生成和驗證token(這方面我也寫過文章,講述后端對token的處理),前端在每一次請求中都要在請求頭上加上token。

第一步:先講一講前端要對token做什么

首先,當我們在登錄頁面輸入賬號密碼之后,點擊登錄,后端除了會驗證賬號密碼是否正確,還會生成token,然后將token與登錄結(jié)果一起返回。

這時候前端就需要解析后端返回的數(shù)據(jù),取到token,放到sessionStorage中。

下面就是我隨便寫的提交登錄表單的方法

//提交表單數(shù)據(jù)
    submitForm(formName) {
      const that = this
      axios({
        method: "post",
        url: connectUrl+":10003/login/acount",
        data:{
          userName:this.ruleForm.userName,
          password:this.ruleForm.password,
          option:0,
          loginTime:new Date()
          } 
      }).then(function(response){
            if(response.data.code === 200){
              sessionStorage.setItem("token",response.data.data.token);
              sessionStorage.setItem("userName",response.data.data.userName);
            that.$router.push({
                name:'index'
                })
            that.$message.success("登錄成功")
          }else{
            that.$message.error("權(quán)限不足:賬號密碼錯誤")
          }
          
      });
    }

簡單來說:

將token放入sessionStorage的操作的關鍵代碼就是這一行:

sessionStorage.setItem("token",response.data.data.token);

第二步:查看sessionStorage中是否保存了token

成功將token保存到sessionStorage后,就可以開始攔截每次請求,將token放到請求頭中了

第三步:找到vue項目中的main.js文件,并引入axios

第四步:在main.js中寫相關的攔截請求的代碼

// 添加請求攔截器
axios.interceptors.request.use(function (config) {
  // 在發(fā)送請求之前做些什么
  // 判斷是否存在token,如果存在將每個頁面header添加token
  if (sessionStorage.getItem("token")) {
    config.headers.common['Authorization'] = sessionStorage.getItem("token");
  }
  return config
}, function (error) {
  router.push('/login')
  return Promise.reject(error)
})

上面是請求攔截器,其實還可以對響應進行攔截(可有可無,可以不寫,不影響請求攔截器的實現(xiàn))

// 添加響應攔截器
axios.interceptors.response.use(function (response) {
  // 對響應數(shù)據(jù)做點什么
  return response
}, function (error) {
  // 對響應錯誤做點什么
  if (error.response) {
    switch (error.response.status) {
      case 401:
        store.commit('del_token')
        router.push('/login')
    }
  }
  return Promise.reject(error)
})

總結(jié)

好了,以上就是"Vue:全局攔截所有請求,并在請求頭中添加token"的全部內(nèi)容了

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue3數(shù)據(jù)監(jiān)聽watch/watchEffect的示例代碼

    vue3數(shù)據(jù)監(jiān)聽watch/watchEffect的示例代碼

    我們都知道監(jiān)聽器的作用是在每次響應式狀態(tài)發(fā)生變化時觸發(fā),在組合式?API?中,我們可以使用?watch()函數(shù)和watchEffect()函數(shù),下面我們來看下vue3如何進行數(shù)據(jù)監(jiān)聽watch/watchEffect,感興趣的朋友一起看看吧
    2023-02-02
  • vue2.0如何實現(xiàn)echarts餅圖(pie)效果展示

    vue2.0如何實現(xiàn)echarts餅圖(pie)效果展示

    這篇文章主要介紹了vue2.0如何實現(xiàn)echarts餅圖(pie)效果展示,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • uniapp定義new plus.nativeObj.View實現(xiàn)APP端全局彈窗功能

    uniapp定義new plus.nativeObj.View實現(xiàn)APP端全局彈窗功能

    文章介紹了在UniApp中使用`newplus.nativeObj.View`實現(xiàn)彈窗的原因和方法,它定義了一個`AppPopupView`彈窗函數(shù),并在`main.js`中掛載到全局頁面,以便在任何地方調(diào)用,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Vue的Flux框架之Vuex狀態(tài)管理器

    Vue的Flux框架之Vuex狀態(tài)管理器

    本文內(nèi)容主要參考官方教程,為了方便理解,用更加通俗的文字講解Vuex,也原文內(nèi)容做一些重點引用。希望會對你有所幫助。
    2017-07-07
  • Vue模板語法中數(shù)據(jù)綁定的實例代碼

    Vue模板語法中數(shù)據(jù)綁定的實例代碼

    這篇文章主要介紹了Vue模板語法中數(shù)據(jù)綁定的實例代碼,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • 使用Element+vue實現(xiàn)開始與結(jié)束時間限制

    使用Element+vue實現(xiàn)開始與結(jié)束時間限制

    這篇文章主要為大家詳細介紹了使用Element+vue實現(xiàn)開始與結(jié)束時間限制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue-router傳參的4種方式超詳細講解

    vue-router傳參的4種方式超詳細講解

    我們在組件切換時經(jīng)常會有傳遞一些數(shù)據(jù)的需求,這樣就涉及到了路由傳參的問題,下面這篇文章主要給大家介紹了關于vue-router傳參的4種超詳細方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 使用antv替代Echarts實現(xiàn)數(shù)據(jù)可視化圖表詳解

    使用antv替代Echarts實現(xiàn)數(shù)據(jù)可視化圖表詳解

    這篇文章主要為大家介紹了使用antv替代Echarts實現(xiàn)數(shù)據(jù)可視化圖表詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Vue無法訪問.env.development定義的變量值問題及解決

    Vue無法訪問.env.development定義的變量值問題及解決

    這篇文章主要介紹了Vue無法訪問.env.development定義的變量值問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue路由的懶加載深入詳解

    Vue路由的懶加載深入詳解

    這篇文章主要介紹了vue-router路由懶加載及實現(xiàn)方式,路由懶加載的主要作用是將?路由對應的組件打包成一個個的js代碼塊,只有在這個路由被訪問到的時候,才會加載對應組件的代碼塊,需要的朋友可以參考下
    2022-12-12

最新評論

巫山县| 益阳市| 介休市| 时尚| 澄迈县| 瓦房店市| 丹寨县| 惠水县| 潮州市| 德格县| 左云县| 锡林浩特市| 乌鲁木齐县| 廉江市| 房产| 河南省| 鞍山市| 万安县| 白河县| 浦城县| 鸡泽县| 玛纳斯县| 阿鲁科尔沁旗| 北海市| 金塔县| 深水埗区| 尉犁县| 洪洞县| 平谷区| 应城市| 新化县| 富裕县| 宿松县| 巴彦县| 甘泉县| 密云县| 洛宁县| 车致| 雷波县| 永丰县| 从江县|