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

Vue使用Axios添加自定義請(qǐng)求頭的多種方式

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

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

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

// 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默認(rèn)頭

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

// 創(chuàng)建axios實(shí)例(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. 請(qǐng)求攔截器設(shè)置(動(dòng)態(tài)頭)

http.interceptors.request.use(config => {
  // 動(dòng)態(tài)設(shè)置認(rèn)證頭
  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. 單個(gè)請(qǐng)求設(shè)置

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

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

5. 處理常見問題

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

// 確保服務(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;
    };
  }
}

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

最佳實(shí)踐建議:

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

通過以上方法,你可以靈活地在Vue項(xiàng)目中管理各種自定義請(qǐng)求頭,同時(shí)保持良好的代碼組織和可維護(hù)性。

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

相關(guān)文章

  • 使用provide/inject實(shí)現(xiàn)跨組件通信的方法

    使用provide/inject實(shí)現(xiàn)跨組件通信的方法

    在 Vue 應(yīng)用中,組件間通信是構(gòu)建復(fù)雜應(yīng)用時(shí)的一個(gè)常見需求,Vue3.x 提供了provide和inject API,讓跨組件通信變得更加簡(jiǎn)潔和高效,本文將深入探討如何使用provide和inject在Vue3.x中實(shí)現(xiàn)跨組件通信,并通過示例代碼一步步進(jìn)行說明,需要的朋友可以參考下
    2024-03-03
  • Vue3.x源碼調(diào)試的實(shí)現(xiàn)方法

    Vue3.x源碼調(diào)試的實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue3.x源碼調(diào)試的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Vue路由跳轉(zhuǎn)傳參后無法清空地址欄參數(shù)問題解決方案

    Vue路由跳轉(zhuǎn)傳參后無法清空地址欄參數(shù)問題解決方案

    這篇文章主要介紹了Vue路由跳轉(zhuǎn)傳參后無法清空地址欄參數(shù)問題解決方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-05-05
  • Vue常用API、高級(jí)API的相關(guān)總結(jié)

    Vue常用API、高級(jí)API的相關(guān)總結(jié)

    這篇文章主要介紹了Vue常用API、高級(jí)API的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-02-02
  • Vue3 + MybatisPlus實(shí)現(xiàn)批量刪除功能(詳細(xì)代碼)

    Vue3 + MybatisPlus實(shí)現(xiàn)批量刪除功能(詳細(xì)代碼)

    這篇文章主要介紹了Vue3 + MybatisPlus實(shí)現(xiàn)批量刪除功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • vue如何通過某個(gè)字段獲取詳細(xì)信息

    vue如何通過某個(gè)字段獲取詳細(xì)信息

    這篇文章主要介紹了vue如何通過某個(gè)字段獲取詳細(xì)信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue3路由useRoute/useRouter傳參、跳轉(zhuǎn)、避坑最全實(shí)戰(zhàn)指南(別再亂用了!)

    Vue3路由useRoute/useRouter傳參、跳轉(zhuǎn)、避坑最全實(shí)戰(zhàn)指南(別再亂用了!)

    這篇文章主要介紹了Vue3路由useRoute/useRouter傳參、跳轉(zhuǎn)、避坑最全實(shí)戰(zhàn)指南的相關(guān)資料,文中通過代碼詳細(xì)區(qū)分了二者的核心區(qū)別和適用場(chǎng)景,配置了完整的傳參規(guī)則和解決方案,幫助開發(fā)者正確使用組合式路由API,避免常見的BUG和異常,需要的朋友可以參考下
    2026-05-05
  • 利用vue+elementUI實(shí)現(xiàn)部分引入組件的方法詳解

    利用vue+elementUI實(shí)現(xiàn)部分引入組件的方法詳解

    這篇文章主要給大家介紹了關(guān)于利用vue+elementUI實(shí)現(xiàn)部分引入組件的相關(guān)資料,以及介紹了vue引入elementUI報(bào)錯(cuò)的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Vue.js遞歸組件實(shí)現(xiàn)組織架構(gòu)樹和選人功能

    Vue.js遞歸組件實(shí)現(xiàn)組織架構(gòu)樹和選人功能

    這篇文章主要介紹了Vue.js遞歸組件實(shí)現(xiàn)組織架構(gòu)樹和選人功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • vue中如何使用xlsx讀取excel文件實(shí)例代碼

    vue中如何使用xlsx讀取excel文件實(shí)例代碼

    在Vue中使用xlsx庫(kù)可以幫助我們讀取和寫入Excel文件,下面這篇文章主要給大家介紹了關(guān)于vue中如何使用xlsx讀取excel文件的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12

最新評(píng)論

千阳县| 崇左市| 海南省| 海宁市| 内江市| 庆阳市| 榆树市| 乌兰县| 库车县| 左云县| 刚察县| 连州市| 清河县| 东海县| 姚安县| 弋阳县| 太保市| 增城市| 屏东市| 于田县| 湘乡市| 芮城县| 蒙阴县| 富顺县| 栖霞市| 许昌县| 景洪市| 手机| 金湖县| 黑龙江省| 阿拉善右旗| 无锡市| 临澧县| 绍兴县| 东乡族自治县| 遂昌县| 博客| 神池县| 宜章县| 涟水县| 武夷山市|