【问题标题】:Unable to get header when using axios.create使用 axios.create 时无法获取标头
【发布时间】:2022-12-01 16:08:13
【问题描述】:

我在 axios.js 中创建了一个 axios 实例,如下所示

const instance = axios.create({
  baseURL: "url",
  timeout: 5000,
  headers: {
    authorization:
      "key",
  },
});

export default instance;

我正在使用它,如下所示

const responce = await instance.get(url)

但问题是我的 api 无法访问标头,它向我显示需要授权密钥的错误。如果我像下面这样手动传递标头,我的 api 工作正常

 const responce = await instance.get(url, {
        headers: {
          authorization:
            "key",
        },
      })

【问题讨论】:

    标签: javascript reactjs api next.js axios


    【解决方案1】:

    试试这个。

    instance.defaults.headers.common['authorization'] = "key";
    

    替代方式

    const instance = axios.create();
    
    instance.interceptors.request.use(
      function (config) {
        config.baseURL = BASE_URL;
        config.headers =  {
          authorization:
            "key",
        }
        return config;
      },
      function (error) {
        Promise.reject(error);
      }
    );
    
    export default instance;
    

    【讨论】:

    • 当我进行 API 调用时,我应该将它放在我的 axios 实例中代替标头还是放在里面?
    • 是的,您可以在创建实例之后放置它。
    • 我也添加了第二个选项,如果它按预期工作,你可以接受这个答案作为最佳答案)
    猜你喜欢
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 2016-04-20
    • 1970-01-01
    • 2019-10-27
    相关资源
    最近更新 更多