vue 对axios get pust put delete封装的实例代码


Posted in Javascript onJanuary 05, 2020

vue 对axios get pust put delete封装的实例代码

axios.js

import axios from 'axios';
import Qs from 'qs';
import {Message} from 'element-ui';
 
 
axios.defaults.baseURL = "/api";
// 设置请求超时时间
axios.defaults.timeout = 30000;
 
// 设置post请求头
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
 
// 请求拦截
axios.interceptors.request.use(config => {
  // 在发送请求之前做些什么 验证token之类的
 
  return config;
}, error => {
  // 对请求错误做些什么
 
  Message.error({message: '请求超时!'})
  return Promise.error(error);
})
 
// 响应拦截
axios.interceptors.response.use(response => {
  // 对响应数据做点什么
 
  return response;
}, error => {
  // 对响应错误做点什么
 
  return Promise.reject(error);
});
 
 
// 封装get方法和post方法
 
/**
 * get方法,对应get请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url, {
      params: params
    }).then(res => {
      resolve(res.data);
      // Loading.service(true).close();
      // Message({message: '请求成功', type: 'success'});
    }).catch(err => {
      reject(err.data)
      // Loading.service(true).close();
      Message({message: '加载失败', type: 'error'});
    })
  });
}
 
/**
 * post方法,对应post请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function post(url, params) {
  return new Promise((resolve, reject) => {
    axios.post(url, params)
      .then(res => {
        resolve(res.data);
        // Loading.service(true).close();
        // Message({message: '请求成功', type: 'success'});
      })
      .catch(err => {
        reject(err.data)
        // Loading.service(true).close();
        Message({message: '加载失败', type: 'error'});
      })
  });
}
 
/**
 * post方法,参数序列化
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function qspost(url, params) {
  return new Promise((resolve, reject) => {
    axios.post(url, Qs.stringify(params))
      .then(res => {
        resolve(res.data);
        // Loading.service(true).close();
        // Message({message: '请求成功', type: 'success'});
      })
      .catch(err => {
        reject(err.data)
        // Loading.service(true).close();
        Message({message: '加载失败', type: 'error'});
      })
  });
}
 
 
/**
 * put方法,对应put请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function put(url, params) {
  return new Promise((resolve, reject) => {
    axios.put(url, params)
      .then(res => {
        resolve(res.data);
        // Loading.service(true).close();
        // Message({message: '请求成功', type: 'success'});
      })
      .catch(err => {
        reject(err.data)
        // Loading.service(true).close();
        Message({message: '加载失败', type: 'error'});
      })
  });
}
 
 
/**
 * delete
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function deletefn(url, params) {
  return new Promise((resolve, reject) => {
    axios.delete(url, params)
      .then(res => {
        resolve(res.data);
        // Loading.service(true).close();
        // Message({message: '请求成功', type: 'success'});
      })
      .catch(err => {
        reject(err.data)
        // Loading.service(true).close();
        Message({message: '加载失败', type: 'error'});
      })
  });
}

vue 对axios get pust put delete封装的实例代码

brand.js

import { get,post,qspost,put,deletefn } from '../../utils/axios/axios'
 
 
 
export const getBrandList = data => post("/item/brand/list",data)
 
export const addBrand = data =>post("/item/brand",data);

Brand.vue

import {getBrandList,addBrand} from "../../api/item/brand";

vue 对axios get pust put delete封装的实例代码

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

以上就是全部实例代码,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
用jQuery简化JavaScript开发分析
Feb 19 Javascript
javascript的数据类型、字面量、变量介绍
May 23 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
Aug 11 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
再谈Angular4 脏值检测(性能优化)
Apr 23 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
Sep 27 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 Javascript
vue.js实现二级菜单效果
Oct 19 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 Javascript
JavaScript修改注册表实例代码
Jan 05 #Javascript
详解JavaScript修改注册表的方法
Jan 05 #Javascript
js判断非127开头的IP地址的实例代码
Jan 05 #Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
Jan 05 #Javascript
分享JS表单验证源码(带错误提示及密码等级)
Jan 05 #Javascript
jQuery 选择器用法基础入门示例
Jan 04 #jQuery
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 #Javascript
You might like
晶体管单管来复再生式收音机
2021/03/02 无线电
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
JQuery实现自定义对话框的代码
2008/06/15 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
查看keras的默认backend实现方式
2020/06/19 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
工程造价与管理专业应届生求职信
2013/11/23 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
冰峪沟导游词
2015/02/09 职场文书
值班管理制度范本
2015/08/06 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js