Nodejs——axios请求接口及拦截器使用
时间: 2023-08-30 11:05:13 浏览: 160
在Node.js中使用axios请求接口以及拦截器的使用方法如下:
首先,需要安装axios模块:
```
npm install axios
```
然后,在代码中引入axios模块:
```js
const axios = require('axios');
```
接下来,可以使用axios发送GET、POST等请求:
```js
axios.get('http://example.com/api')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
axios.post('http://example.com/api', {data: 'hello'})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
```
当然,axios还支持一些其他的请求方法,比如PUT、DELETE等。
接下来,我们可以使用axios的拦截器对请求和响应进行处理。例如,我们可以在请求头中添加token:
```js
axios.interceptors.request.use(config => {
const token = localStorage.getItem('token');
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
}, error => {
return Promise.reject(error);
});
```
在上面的代码中,我们使用了axios的interceptors.request.use方法,它可以在请求被发送出去之前对其进行拦截处理。在这个例子中,我们将localStorage中存储的token添加到请求头中的Authorization字段中。
我们还可以使用axios的interceptors.response.use方法对响应进行处理。例如,我们可以检查响应状态码是否为401,如果是,则跳转到登录页面:
```js
axios.interceptors.response.use(response => {
return response;
}, error => {
if (error.response.status === 401) {
window.location.href = '/login';
}
return Promise.reject(error);
});
```
在上面的代码中,我们使用了axios的interceptors.response.use方法,它可以在响应被接收之前对其进行拦截处理。在这个例子中,我们检查了响应状态码是否为401,并且在这种情况下跳转到登录页面。
以上就是在Node.js中使用axios请求接口及拦截器的使用方法。
阅读全文