axios动态设置默认标头

问题描述 投票:1回答:2

我想设置一个随每个请求发送的标头:

axios.defaults.headers.common = {
    Accept: 'application/json',
    'X-CSRF-TOKEN': store.state.csrf
};

这仅在页面加载时进行评估。我希望它是动态的,因为csrf值可能会在以后更改。就像是:

axios.defaults.headers.common = {
    Accept: 'application/json',
    'X-CSRF-TOKEN': () => store.state.csrf
};

但是这不起作用。

javascript axios
2个回答
3
投票

您可以随时覆盖/扩展默认值:

// set defaults...

// do requests...

// overwrite CSRF token
axios.defaults.headers.common['X-CSRF-TOKEN'] = store.state.csrf;

// do more requests...

或者你可以change the defaults only for a certain instance


0
投票

您可以在请求数据之后将动态标头作为参数传递。

     let config = {
         'X-CSRF-TOKEN': store.state.csrf
     }
     axios.post(url, requestData, config)
© www.soinside.com 2019 - 2024. All rights reserved.