axios如何携带jwt令牌
时间: 2024-09-16 18:05:14 浏览: 22
Axios是一个流行的JavaScript库,用于浏览器和Node.js环境下的HTTP请求。要携带JWT(JSON Web Token)在axios请求中,你需要在每次发送请求之前将JWT附加到headers中。以下是在axios配置文件或每个请求中添加JWT的一个示例:
```javascript
import axios from 'axios';
import jwt from 'jsonwebtoken';
// 假设你有一个函数来获取并验证JWT
const getToken = localStorage.getItem('token') || '';
const decodedToken = jwt.verify(getToken, 'your-secret-key');
axios.defaults.headers.common['Authorization'] = `Bearer ${decodedToken.access_token}`; // 或者使用你JWT的其他字段
// 发送带有JWT的GET请求
axios.get('/api/protected-resource', {
headers: axios.defaults.headers.common,
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
// 如果你想在特定请求上添加JWT而不影响全局设置,可以这样做
axios.get('/another-api', {
headers: {
Authorization: `Bearer ${decodedToken.access_token}`,
},
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
```