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 相关文章推荐
JavaScript 闭包在封装函数时的简单分析
Nov 28 Javascript
jquery easyui的tabs使用时的问题
Mar 23 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
Jan 23 Javascript
Javascript基础教程之数据类型 (字符串 String)
Jan 18 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 Javascript
Vue.js第四天学习笔记(组件)
Dec 02 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
浅谈Vue Element中Select下拉框选取值的问题
Mar 01 Javascript
JS面试题大坑之隐式类型转换实例代码
Oct 14 Javascript
手淘flexible.js框架使用和源代码讲解小结
Oct 15 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
May 05 Javascript
vue遍历对象中的数组取值示例
Nov 07 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
杏林同学录(四)
2006/10/09 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
PHP asXML()函数讲解
2019/02/03 PHP
写的htc的数据表格
2007/01/20 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
python的re模块应用实例
2014/09/26 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
python实现内存监控系统
2021/03/07 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
行政助理岗位职责
2013/11/10 职场文书
玲玲的画教学反思
2014/02/04 职场文书
建设投标担保书
2014/05/13 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python