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事件串连执行多个处理过程的方法
Mar 09 Javascript
用js实现预览待上传的本地图片
Mar 15 Javascript
JQuery的ajax基础上的超强GridView展示
Sep 18 Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
artDialog双击会关闭对话框的修改过程分享
Aug 05 Javascript
禁用页面部分JavaScript不是全部而是部分
Sep 03 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
vue如何通过id从列表页跳转到对应的详情页
May 01 Javascript
jquery添加div实现消息聊天框
Feb 08 jQuery
vue实现选中效果
Oct 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
一些PHP写的小东西
2006/12/06 PHP
php在线生成ico文件的代码
2007/10/09 PHP
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
Vue仿今日头条实例详解
2018/02/06 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
Python smallseg分词用法实例分析
2015/05/28 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
python 连接sqlite及简单操作
2017/06/30 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
python和opencv实现抠图
2018/07/18 Python
python里运用私有属性和方法总结
2019/07/08 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
最新大学生自我评价
2013/09/24 职场文书
项目投资建议书
2014/05/16 职场文书
征兵宣传标语
2014/06/20 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书