如何在axios中设置header和options?

新手上路,请多包涵

我使用 Axios 执行这样的 HTTP 发布:

import axios from 'axios'
params = {'HTTP_CONTENT_LANGUAGE': self.language}
headers = {'header1': value}
axios.post(url, params, headers)

这个对吗?或者我应该这样做:

axios.post(url, params: params, headers: headers)

原文由 user2950593 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
1 个回答

做这件事有很多种方法:

  • 对于单个请求:
   let config = {
    headers: {
      header1: value,
    }
  }

  let data = {
    'HTTP_CONTENT_LANGUAGE': self.language
  }

  axios.post(URL, data, config).then(...)

  • 设置默认全局配置:
   axios.defaults.headers.post['header1'] = 'value' // for POST requests
  axios.defaults.headers.common['header1'] = 'value' // for all requests

  • 要在 axios 实例上设置为默认值:
   let instance = axios.create({
    headers: {
      post: {        // can be common or any other method
        header1: 'value1'
      }
    }
  })

  //- or after instance has been created
  instance.defaults.headers.post['header1'] = 'value'

  //- or before a request is made
  // using Interceptors
  instance.interceptors.request.use(config => {
    config.headers.post['header1'] = 'value';
    return config;
  });

原文由 riyaz-ali 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题