脚本宝典收集整理的这篇文章主要介绍了

vue中axios的封装(简易版拦截,get,post)

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

第一步还是先下载axios

npm install axios --save

第二步/src/utils/目录下建立一个htttp.js

import axios from 'axios';   axios.defaults.timeout = 5000; axios.defaults.baseURL ='';   //http request 拦截器 axios.interceptors.request.use(   config => {     // const token = getCookie('名称');     config.data = JSON.stringify(config.data);     config.headers = {       'Content-Type':'application/x-www-form-urlencoded'     }     // if(token){     //   config.params = {'token':token}     // }     return config;   },   error => {     return Promise.reject(err);   } );   //http response 拦截器 axios.interceptors.response.use(   response => {     if(response.data.errCode ==2){       router.push({         path:"/login",         querry:{redirect:router.currentRoute.fullPath}//从哪个页面跳转       })     }     return response;   },   error => {     return Promise.reject(error)   } )   /**  * 封装get方法  * @param url  * @param data  * @returns {Promise}  */  export function fetch(url,params={}){   return new Promise((resolve,reject) => {     axios.get(url,{       params:params     })     .then(response => {       resolve(response.data);     })     .catch(err => {       reject(err)     })   }) }   /**  * 封装post请求  * @param url  * @param data  * @returns {Promise}  */   export function post(url,data = {}){    return new Promise((resolve,reject) => {      axios.post(url,data)           .then(response => {             resolve(response.data);           },err => {             reject(err)           })    })  }

第三步

在main.js中引入

import {post,get} from './utils/http' //定义全局变量 Vue.prototype.$post=post; Vue.prototype.$get=get;

最后在组件里直接使用

mounted(){     this.$post('/api/v2/movie/top250')       .then((response) => {         console.log(response)       })   },  其余的方法一样

总结

以上是脚本宝典为你收集整理的

vue中axios的封装(简易版拦截,get,post)

全部内容,希望文章能够帮你解决

vue中axios的封装(简易版拦截,get,post)

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过