在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 如何每次都在axios請求方法加上token

如何每次都在axios請求方法加上token

我使用普通的html網頁, 通過axios加載數據. 在登錄login.html通過后, 拿到服務器端的token. 在后面的所有頁面的請求的header上都要帶上這個token.
登錄成功后我在login.html設置了 axios.defaults.headers.common['Authorization'] = "AUTH_TOKEN";
但到了其他頁面, axios的header的Authorization 都是undefined, 請問我應該怎樣做才能保證請求都自動帶上這個token?

回答
編輯回答
避風港
  1. 變量肯定不能跨頁面啊。
  2. 跨頁面還能保存數據的方案,有 cookie , localStorage , URL 變量傳遞等。
2017年6月15日 21:37
編輯回答
孤星

axios攔截器(也可以用這個做每次請求之前的loading....) 附上鏈接鏈接描述

service.interceptors.request.use( 
  config => {
    // 判斷是否登錄是否有token ,這里登錄時將token存之本地
    const USER_TOKEN = JSON.parse(sessionStorage.getItem('user')) && JSON.parse(sessionStorage.getItem('user')).USER_TOKEN
    // 登錄不需要傳token,看一下自己登錄的接口包含哪個特殊字段
    if(USER_TOKEN && !config.url.includes('login')){
      config.headers.common['USER_TOKEN'] = USER_TOKEN
    }
    return config
  },
  err => {
    return Promise.reject(err)
  }
)
2017年5月28日 09:23
編輯回答
愛礙唉

請使用axios的攔截器

// http request 攔截器
axios.interceptors.request.use(
    config => {
        if (store.state.token) {  // 判斷是否存在token,如果存在的話,則每個http header都加上token
            config.headers.Authorization = `token ${store.state.token}`;
        }
        return config;
    },
    err => {
        return Promise.reject(err);
    });
2017年8月30日 05:13