vue axios请求拦截器,判断是否登录超时,或对请求结果做一个统一处理
当我们在做接口请求时,比如判断登录超时时候,通常是接口返回一个特定的错误码,那如果我们每个接口都去判断一个耗时耗力,这个时候我们可以用拦截器去进行统一的http请求拦截。1.安装配置axios[plain] view plain copycnpm install --save axios 我们可以建一个js文件来做这个统一的处理,新建一个axios.js,如下[javascript] view
·
当我们在做接口请求时,比如判断登录超时时候,通常是接口返回一个特定的错误码,那如果我们每个接口都去判断一个耗时耗力,这个时候我们可以用拦截器去进行统一的http请求拦截。
1.安装配置axios
- cnpm install --save axios
我们可以建一个js文件来做这个统一的处理,新建一个axios.js,如下
- import axios from 'axios'
- import { Indicator } from 'mint-ui';
- import { Toast } from 'mint-ui';
- // http request 拦截器
- axios.interceptors.request.use(
- config => {
- Indicator.open()
- return config;
- },
- err => {
- Indicator.close()
- return Promise.reject(err);
- });
- // http response 拦截器
- axios.interceptors.response.use(
- response => {
- Indicator.close()
- return response;
- },
- error => {
- Indicator.close()
- });
- export default axios
然后在main.js中引入这个js文件
- import axios from './axio';
- Vue.prototype.$axios = axios;
这样就可以使用axios去请求了,在组件中可以用this.axios去调用
- this.$axios({
- url:requestUrl+'homePage/v1/indexNewPropertiesResult',
- method:'POST',
- }).then(function(response){ //接口返回数据
- console.log(response)
- that.modulesArr=response.data.data.modules;
- // that.getRecommendGoods(0);
- });
更多推荐
已为社区贡献12条内容
所有评论(0)