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 相关文章推荐
IE8 浏览器Cookie的处理
Jan 31 Javascript
js中的数组Array定义与sort方法使用示例
Aug 29 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
JavaScript输出当前时间Unix时间戳的方法
Apr 06 Javascript
JS实现简单路由器功能的方法
May 27 Javascript
Javascript 6里的4个新语法
Aug 25 Javascript
js实现导航吸顶效果
Feb 24 Javascript
Vue计算属性的学习笔记
Mar 22 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
vue项目打包部署到服务器的方法示例
Aug 27 Javascript
layer弹出层扩展主题的方法
Sep 11 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 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生成自己的LOG文件
2006/10/09 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
Python重新引入被覆盖的自带function
2014/07/16 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
详解Python中的正则表达式
2018/07/08 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python设置环境变量的原因和方法
2019/06/24 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
python对文件的操作方法汇总
2020/02/28 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
python识别验证码的思路及解决方案
2020/09/13 Python
python 决策树算法的实现
2020/10/09 Python
几个数据库方面的面试题
2016/07/01 面试题
外企办公室竞聘演讲稿
2013/12/29 职场文书
承诺书格式
2014/06/03 职场文书
年终晚会活动方案
2014/08/21 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
会议欢迎词范文
2015/01/27 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
企业党建工作总结2015
2015/05/26 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书