Javascript 如何将axios标头中的数据获取到Vue中的组件
我有一个axiosJavascript 如何将axios标头中的数据获取到Vue中的组件,javascript,vue.js,vuejs2,axios,vue-component,Javascript,Vue.js,Vuejs2,Axios,Vue Component,我有一个axiosapiClient,我正试图将存储在localStorage中的电子邮件放入邮件头。在我的组件中,我尝试使用 response.headers['email'] 并将其分配给电子邮件变量,但我没有定义。我正在localStorage中获取电子邮件,但无法在组件中获取它。任何帮助都将不胜感激 Axios const apiClient=axios.create({ baseURL:`${API}`, 使用凭据:false, 标题:{ 接受:“应用程序/json”, “内容类型”
apiClient
,我正试图将存储在localStorage
中的电子邮件放入邮件头。在我的组件中,我尝试使用
response.headers['email']
并将其分配给电子邮件变量,但我没有定义。我正在localStorage
中获取电子邮件,但无法在组件中获取它。任何帮助都将不胜感激
Axios
const apiClient=axios.create({
baseURL:`${API}`,
使用凭据:false,
标题:{
接受:“应用程序/json”,
“内容类型”:“应用程序/json”
}
});
apiClient.interceptors.request.use(函数(配置){
让token=JSON.parse(localStorage.getItem('token'));
让email=JSON.parse(localStorage.getItem('email'));
如果(令牌){
config.headers.Authorization=`Bearer${token}`;
config.headers.email=`${email}`;
}
返回配置;
},函数(err){
退回承诺。拒绝(错误);
});
下面是我的组件中需要电子邮件数据的方法
方法:{
getOrders(){
service.getAllOrders()
。然后(响应=>{
this.email=response.headers['email'];
console.log(“email:,this.email”)
})
}
}
getAllOrders()
是否执行axiosget
设置请求拦截器,但检查响应头,这是两个不同的对象。响应来自服务器,不会受到请求拦截器的影响
您可以为响应创建不同的拦截器:
apiClient.interceptors.response.use((response)=>{
response.headers.email=JSON.parse(localStorage.getItem('email');
返回响应;
});