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


Posted in Javascript onJune 15, 2018

第一步还是先下载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),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
Aug 30 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
Oct 17 Javascript
JavaScript取得WEB安全颜色列表的方法
Jul 14 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
jQuery:unbind方法的使用详解
Aug 14 jQuery
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
Mar 06 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
在layui下对元素进行事件绑定的实例
Sep 06 Javascript
vue和webpack打包项目相对路径修改的方法
Jun 15 #Javascript
webpack公共组件引用路径简化小技巧
Jun 15 #Javascript
微信小程序自定义tab实现多层tab嵌套功能
Jun 15 #Javascript
微信小程序实现自定义modal弹窗封装的方法
Jun 15 #Javascript
详解vue组件开发脚手架
Jun 15 #Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 #Javascript
vue cli 3.0 使用全过程解析
Jun 14 #Javascript
You might like
PHP多线程抓取网页实现代码
2010/07/22 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
编写Js代码要注意的几条规则
2010/09/10 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
理解javascript异步编程
2016/01/27 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
vue使用recorder.js实现录音功能
2019/11/22 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
python中append实例用法总结
2019/07/30 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
如何利用find命令查找文件
2015/02/07 面试题
实习生个人的自我评价
2013/12/08 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
小学六年级学生评语
2014/04/22 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
大学生党课心得体会
2016/01/07 职场文书