欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue使用Axios添加自定義請求頭的多種方式

 更新時間:2025年05月16日 17:20:53   作者:大巨頭  
Axios 是一個基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中,這篇文章給大家介紹了Vue使用Axios添加自定義請求頭的多種方式,并通過代碼講解的非常詳細,需要的朋友可以參考下

在 Vue 中使用 Axios 添加自定義請求頭有多種方式,以下是詳細實現(xiàn)方案:

1. 全局設(shè)置(適用于所有請求)

// main.js 或 axios 配置文件中
import axios from 'axios';

axios.defaults.headers.common['X-Custom-Header'] = 'default-value';
axios.defaults.headers.post['Content-Type'] = 'application/json'; // 設(shè)置POST默認頭

2. 實例配置(推薦方式)

// 創(chuàng)建axios實例(api.js)
const http = axios.create({
  baseURL: process.env.VUE_APP_API_BASE_URL,
  headers: {
    'X-Requested-With': 'XMLHttpRequest',
    'X-Custom-Header': 'instance-value'
  }
});

3. 請求攔截器設(shè)置(動態(tài)頭)

http.interceptors.request.use(config => {
  // 動態(tài)設(shè)置認證頭
  const token = localStorage.getItem('token');
  if (token) {
    config.headers.Authorization = `Bearer ${token}`;
  }
  
  // 固定業(yè)務(wù)頭
  config.headers['X-Client-Version'] = '1.0.0';
  config.headers['X-Platform'] = 'Web';
  
  return config;
}, error => {
  return Promise.reject(error);
});

4. 單個請求設(shè)置

// GET請求
this.$http.get('/api/data', {
  headers: {
    'X-Special-Header': 'for-this-request-only'
  }
});

// POST請求
this.$http.post('/api/save', data, {
  headers: {
    'X-Data-Type': 'json',
    'X-Request-ID': uuidv4() // 生成唯一ID
  }
});

5. 處理常見問題

問題1:CORS 預(yù)檢請求

// 確保服務(wù)器允許自定義頭
// 示例:Nginx配置
add_header 'Access-Control-Allow-Headers' 'X-Custom-Header, Authorization';

問題2:頭信息被覆蓋

// 在攔截器中合并頭信息
config.headers = {
  ...config.headers,
  'X-New-Header': 'value',
  'Content-Type': 'application/json' // 明確設(shè)置內(nèi)容類型
};

問題3:開發(fā)環(huán)境代理配置

// vue.config.js
devServer: {
  proxy: {
    '/api': {
      target: 'http://backend:8080',
      headers: {
        'X-Proxy-Header': 'vue-dev-server'
      }
    }
  }
}

6. TypeScript 類型支持(如使用TS)

declare module 'axios' {
  interface AxiosRequestConfig {
    customMetadata?: {
      startTime?: number;
      retryCount?: number;
    };
  }
}

// 使用擴展配置
http.get('/api', {
  customMetadata: {
    startTime: Date.now()
  },
  headers: {
    'X-Performance-Marker': 'start'
  }
});

最佳實踐建議:

  • 敏感頭(如Authorization)建議只在攔截器中設(shè)置
  • 業(yè)務(wù)相關(guān)頭(如X-User-Type)建議在實例級別設(shè)置
  • 臨時特殊頭(如X-Debug-Mode)在單個請求設(shè)置
  • 所有自定義頭應(yīng)以X-前綴開頭(傳統(tǒng)約定)
  • 生產(chǎn)環(huán)境應(yīng)移除不必要的頭信息

通過以上方法,你可以靈活地在Vue項目中管理各種自定義請求頭,同時保持良好的代碼組織和可維護性。

以上就是Vue使用Axios添加自定義請求頭的多種方式的詳細內(nèi)容,更多關(guān)于Vue Axios添加自定義請求頭的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決Vue3.0刷新頁面警告[Vue Router warn]:No match found for location with path /xxx

    解決Vue3.0刷新頁面警告[Vue Router warn]:No match 

    這篇文章主要介紹了解決Vue3.0刷新頁面警告[Vue Router warn]:No match found for location with path /xxx問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue實現(xiàn)點擊圖片放大效果

    vue實現(xiàn)點擊圖片放大效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)點擊圖片放大效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • vue基礎(chǔ)之詳解ElementUI的表單

    vue基礎(chǔ)之詳解ElementUI的表單

    這篇文章主要為大家詳細介紹了vue基礎(chǔ)之ElementUI的表單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Vue父子組件之間的通信實例詳解

    Vue父子組件之間的通信實例詳解

    在vue組件通信中其中最常見通信方式就是父子組件之中的通信,而父子組件的設(shè)定方式在不同情況下又各有不同。這篇文章主要介紹了Vue---父子組件之間的通信,需要的朋友可以參考下
    2018-09-09
  • Nuxt.js實現(xiàn)一個SSR的前端博客的示例代碼

    Nuxt.js實現(xiàn)一個SSR的前端博客的示例代碼

    這篇文章主要介紹了Nuxt.js實現(xiàn)一個SSR的前端博客的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue2如何使用simple-keyboard軟鍵盤有中文(拼音)

    vue2如何使用simple-keyboard軟鍵盤有中文(拼音)

    這篇文章主要介紹了vue2如何使用simple-keyboard軟鍵盤有中文(拼音),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Vue表單快速上手

    Vue表單快速上手

    工作中vue表單使用的最多的莫過于input、textarea、select等,原生js的基礎(chǔ)上vue通過雙向數(shù)據(jù)綁定等,實現(xiàn)了自己獨有的一套指令,這是react中沒有的部分,也算是vue的一大特色
    2022-09-09
  • Vue自定義依賴引入的最佳實踐記錄

    Vue自定義依賴引入的最佳實踐記錄

    在現(xiàn)代前端開發(fā)中,自定義引入依賴是提升開發(fā)效率的關(guān)鍵,unplugin-auto-import插件可以幫助開發(fā)者自動引入JS模塊,包括本地編寫的工具方法和第三方庫,通過簡單的配置,開發(fā)者可以實現(xiàn)Vue基本庫、本地文件以及第三方插件的自動引入
    2024-10-10
  • 詳解vue+webpack+express中間件接口使用

    詳解vue+webpack+express中間件接口使用

    這篇文章主要介紹了詳解vue+webpack+express中間件接口使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue 設(shè)置路由的登錄權(quán)限的方法

    vue 設(shè)置路由的登錄權(quán)限的方法

    這篇文章主要介紹了vue 設(shè)置路由的登錄權(quán)限的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07

最新評論