vue2发起后端请求携带token
时间: 2023-09-14 07:07:39 浏览: 244
在Vue2中发起后端请求并携带token,可以使用axios进行封装。下面是一个示例:
```javascript
import axios from 'axios'
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 5000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(config => {
// 在发送请求之前添加token到请求头
if (localStorage.getItem('token')) {
config.headers['Authorization'] = 'Bearer ' + localStorage.getItem('token')
}
return config
}, error => {
// 请求错误处理
console.log(error)
Promise.reject(error)
})
// response拦截器
service.interceptors.response.use(
response => response.data,
error => {
// 后端响应错误处理
console.log('err' + error)
return Promise.reject(error)
}
)
export default service
```
在上述代码中,我们创建了一个axios实例,并定义了request和response拦截器。在request拦截器中,我们获取localStorage中的token并添加到请求头中。在response拦截器中,我们处理后端响应的错误信息。
在具体使用时,我们可以通过import导入该axios实例,并以该实例作为请求对象。例如:
```javascript
import request from '@/utils/request'
export function fetchData(params) {
return request({
url: '/api/data',
method: 'get',
params: params
})
}
```
以上代码中,我们使用了request实例发起了一个get请求,并传递了params参数。通过该方法,我们可以方便地发起后端请求并携带token。
阅读全文