vue怎么获取封装的axios里面的响应头数据
时间: 2024-05-08 19:15:03 浏览: 75
vue 2.x 中axios 封装的get 和post方法
可以使用axios的拦截器,在响应拦截器中获取响应头数据并保存到全局变量或者Vuex中,在需要使用响应头数据的组件中调用即可。
示例:
1. 封装axios并添加响应拦截器
```
import axios from 'axios'
const instance = axios.create({
baseURL: 'http://localhost:3000',
timeout: 10000,
headers: {
'Content-Type': 'application/json'
}
})
// 添加响应拦截器
instance.interceptors.response.use(
response => {
// 在这里获取响应头数据并保存到全局变量或者Vuex中
const token = response.headers.authorization
window.token = token
return response.data
},
error => {
return Promise.reject(error)
}
)
export default instance
```
2. 在组件中使用响应头数据
```
<template>
<div>
<p>响应头数据:{{ token }}</p>
<button @click="getData">获取数据</button>
</div>
</template>
<script>
import axios from '@/utils/axios'
export default {
data() {
return {
token: ''
}
},
methods: {
getData() {
axios.get('/data').then(res => {
console.log(res)
})
}
},
mounted() {
this.token = window.token
}
}
</script>
```
阅读全文