vue首次请求获取了token,但是第二次请求服务器无法获取token
时间: 2023-08-21 09:03:32 浏览: 37
可能是由于以下原因导致的:
1. 你的 token 是有过期时间的,如果超过了过期时间,服务器就会拒绝你的请求。
2. 你的 token 是保存在客户端的,如果客户端清空了缓存或者关闭了浏览器,那么下次请求的时候就无法获取到 token。
3. 你的请求没有携带 token,可以在请求头中添加 Authorization 字段,并将 token 值放在其中。
4. 你的 token 是有限制使用次数的,如果超过了限制次数,服务器就会拒绝你的请求。
你可以检查一下以上几个方面,看看哪个地方出了问题。
相关问题
axios vue怎么从请求头里获取token
在Vue中,可以通过设置axios的拦截器来获取请求头中的token。具体实现如下:
1. 在main.js中引入axios和VueAxios:
```
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)
```
2. 设置axios的拦截器:
```
axios.interceptors.request.use(
config => {
const token = localStorage.getItem('token')
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
},
error => {
return Promise.reject(error)
}
)
```
3. 在请求中使用axios:
```
this.axios.get('/api/user', { params: { id: 1 } })
.then(response => {
console.log(response.data)
})
.catch(error => {
console.log(error)
})
```
在以上代码中,拦截器会在每个请求发送前自动执行,从localStorage中获取token,并将其添加到请求头中。在请求中使用axios时,可以直接调用this.axios来发送请求。
vue怎么从请求头里获取token
您可以使用以下代码从请求头中获取Vue中的令牌:
```
const token = req.headers.authorization.split(' ')[1];
```
其中,`req`是请求对象,`authorization`是请求头中的授权字段,`split(' ')[1]`是将授权字段中的Bearer和令牌分离开来,只获取令牌部分。