将默认数据添加到Axios请求

时间:2019-10-30 10:11:03

标签: axios

我正在使用React和Rails API进行项目。

在每个Axios请求中,我都希望将变量传递给我的API。

当我尝试POST,DELETE,PUT,PATCH ...时,是否可以配置Axios告诉它在数据中添加变量?

示例:

1.0/sqrt(...)

→API应该收到:

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

2 个答案:

答案 0 :(得分:4)

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

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 => {
  ...
});

答案 1 :(得分:-1)

最后,我找到了一个更好的答案。 我只是使用了axios的内置功能:

const added_data_axios = {
  'add_data': '..some_data..'
};

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