【问题标题】:Add default data to Axios request将默认数据添加到 Axios 请求
【发布时间】:2019-10-30 10:11:03
【问题描述】:

我正在开发一个使用 React 和 Rails API 的项目。

在我的每个 Axios 请求中,我想将一个变量传递给我的 API。

我可以配置 Axios 在我尝试 POST、DELETE、PUT、PATCH 时告诉它在数据中添加变量吗?

例子:

axios.post('url', { data: 'some_data' }).then(...)

→ API 应该收到:

data_of_request = { data: 'some_data', added_data_from_config_axios: 'some_variable' }

【问题讨论】:

    标签: axios


    【解决方案1】:

    您可以像这样创建自己的函数。

    const sendPost = (url, data = {}, headers = {}) => {
      var body = {...data, added_data_from_config_axios: 'some_variable' };
      return axios.post(url, body, { headers });
    }
    

    然后,你使用这个函数而不是axios

    sendPost(url, { data: 'some_data' }).then(res => {
      ...
    });
    

    【讨论】:

      【解决方案2】:

      终于找到了更好的答案。 我只是用了一个axios的内置函数:

      const added_data_axios = {
        'add_data': '..some_data..'
      };
      
      const api = axios.create({
        transformRequest: [(data) => {
          return {...added_data_axios, ...data};
        }, ...axios.defaults.transformRequest],
      });
      

      【讨论】:

        猜你喜欢
        • 2018-12-27
        • 2021-02-09
        • 2017-10-15
        • 2011-10-23
        • 2019-10-11
        • 2019-10-17
        • 2019-06-10
        • 1970-01-01
        • 2020-11-22
        相关资源
        最近更新 更多