【问题标题】:Axios remove default headers for one requestAxios 删除一个请求的默认标头
【发布时间】:2020-11-17 13:21:42
【问题描述】:

我正在尝试从 Google Maps API 获取位置,但我收到了 CORS 策略错误,因为我的 bootstrap.js 中有这些默认标头

window.axios.defaults.headers.common = {
    'X-Requested-With': 'XMLHttpRequest',
    'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content')
};

如何为特定的 axios 获取请求删除它们?我看到一些答案是他们在请求之前使用的

    delete axios.defaults.headers.common["X-Requested-With"];
    delete axios.defaults.headers.common["X-CSRF-TOKEN"];

但是这些会完全删除它们,有什么想法吗?谢谢和问候!

【问题讨论】:

    标签: laravel vue.js axios


    【解决方案1】:

    您可以在发出的请求中使用transformRequest

    axios.get('xxxx.com', { transformRequest: [(data, headers) => {
       delete headers.common.Authorization;
    
       return data 
    }] })
    

    或者你可以直接删除标题,然后在后面添加:

    delete axios.defaults.headers.common["Authorization"];
    axios.get('xxxx.com');
    axios.defaults.headers.common["Authorization"] = 'Bearer xxxx';
    

    【讨论】:

      猜你喜欢
      • 2021-10-09
      • 2018-07-16
      • 2018-12-06
      • 2013-08-26
      • 1970-01-01
      • 2020-01-15
      • 2019-01-04
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多