如何在axios中设置全局标头?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在axios中设置全局标头?相关的知识,希望对你有一定的参考价值。
嗨,我在请求拦截器中设置默认axios头,但这些头不能在另一个函数中访问...在axios axios documentation中提到global-axios-defaults是全局的...下面是我的示例代码需要帮助
axios.interceptors.request.use(function (config) {
axios.defaults.headers.accesstoken= "some_access_token"
axios.defaults.headers.client = "some_client"
axios.defaults.headers.uid = "some_uid"
return config;
},function (error) {
return Promise.reject(error);
});
在页面加载componentDidmount执行但在此函数中未定义axios默认标头
componentDidMount: function() {
console.log(axios.defaults.headers) #its giving me undefined
axios.get("http://some_url_for_get_request.json", {
headers: {
accesstoken: axios.defaults.headers.accesstoken,
uid: axios.defaults.headers.uid,
client: axios.defaults.headers.client
}
})
}
答案
您可以为每个XHR调用在Axios中设置默认的自定义标题,如下所示:
axios.defaults.headers.common = {
"X-Requested-With": "XMLHttpRequest",
"X-CSRFToken": "example-of-custom-header"
};
您还可以像这样添加配置:
window.axios.defaults.headers.post['xsrfCookieName'] = 'CSRFToken';
window.axios.defaults.headers.post['xsrfHeaderName'] = 'X-CSRFToken';
window.axios.defaults.headers.post['responseType'] = 'json';
window.axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
- 查看全局选项here (Request Config)
此外,您还可以创建传递到实例的配置。
以上是关于如何在axios中设置全局标头?的主要内容,如果未能解决你的问题,请参考以下文章
通过 axios 在响应本机和 Web 上的标头中设置不同的 Content-Type
如何在 Apache Felix maven-bundle-plugin 中设置 Provide-Capability 标头?