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 操作XML入门
Dec 25 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
Dec 02 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
Angular排序实例详解
Jun 28 Javascript
Vue使用mixins实现压缩图片代码
Mar 14 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
Oct 09 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
vue使用自定义指令实现拖拽
Jan 29 Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
vue 实现element-ui中的加载中状态
Nov 11 Javascript
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
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
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
php将数据库导出成excel的方法
2010/05/07 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
date.parse在IE和FF中的区别
2010/07/29 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
Python subprocess模块学习总结
2014/03/13 Python
Python常见数据结构详解
2014/07/24 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
zooplus波兰:在线宠物店
2019/07/21 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
安全生产先进个人材料
2014/02/06 职场文书
租房协议书
2014/04/10 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
影视广告专业求职信
2014/09/02 职场文书
解约证明模板
2015/06/19 职场文书
公司借款担保书
2015/09/22 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS