在所有Axios请求中发送默认的POST变量

时间:2020-02-26 13:06:06

标签: javascript axios

我需要使用Axios将默认全局变量添加到所有POST请求中。

我可以使用拦截器来添加参数,例如:

axios.interceptors.request.use((config) => {
  config.params = config.params || {};
  config.params['timezone_adjust'] = window.timezone_adjust;
  return config;
});

但是在这种情况下,URL看起来像“ {url}?timezone_adjust = 0

但是我想在请求数据对象上包括timezone_adjust变量。有可能吗?

1 个答案:

答案 0 :(得分:2)

如果您想对所有POST请求进行“全局”设置,则应该使用headers而不是body有效负载

为什么?不同的请求可能具有不同的主体有效负载,但是它们可以共享公共的标头集(比共享的有效负载更常见)

在这种情况下,您可以使用Global axios defaults

axios.defaults.headers.post['YOUR-COMMON-HEADER'] = 'HEADER-VALUE';

然后,您应该从后端的request对象获取标头