Salut, je définis les en-têtes axios par défaut dans l'intercepteur de demande, mais ces en-têtes ne sont pas accessibles dans une autre fonction ... dans axios documentation axios il est mentionné que global-axios-defaults sont globaux ... ci-dessous est mon exemple de code a besoin d'aide
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);
});
On page load componentDidmount s'exécute mais les en-têtes par défaut axios ne sont pas définis dans cette fonction
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
}
})
}
Vous pouvez définir les en-têtes personnalisés par défaut dans Axios pour chaque appel XHR comme ceci:
axios.defaults.headers.common = {
"X-Requested-With": "XMLHttpRequest",
"X-CSRFToken": "example-of-custom-header"
};
Vous pouvez également ajouter des configurations comme ceci:
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';
Vous pouvez également créer une configuration passée dans une instance.