2016-12-15 61 views
1

嗨我设置默认axios标头在请求拦截器,但这些头不能访问另一个功能...在axios axios documentation它提到global-axios默认是全球...下面是我的示例代码需要帮助如何在axios中设置全局标题?

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执行,但爱可信默认标题是不确定的这一功能

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 
    } 
    }) 
} 

回答

1

您可以在爱可信默认自定义页眉,每XHR调用是这样的:

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'; 

此外,您还可以创建传递到一个实例的配置。