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 相关文章推荐
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
JQuery 获得绝对,相对位置的坐标方法
Feb 09 Javascript
读JavaScript DOM编程艺术笔记
Nov 15 Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
Mar 24 Javascript
JavaScript变量的作用域全解析
Aug 14 Javascript
js中apply与call简单用法详解
Nov 06 Javascript
Vue-cli中为单独页面设置背景色的实现方法
Feb 11 Javascript
JS中this的指向以及call、apply的作用
May 06 Javascript
JS利用prototype给类添加方法操作详解
Jun 21 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
JS如何实现基于websocket的多端桥接平台
May 14 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
input file获得文件根目录简单实现
2013/04/26 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
python thread 并发且顺序运行示例
2009/04/09 Python
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
学校后勤人员职责
2013/12/27 职场文书
大学总结自我鉴定
2014/01/18 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
招聘专员岗位职责
2014/03/07 职场文书
高二学生评语大全
2014/04/25 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
正规借条模板
2015/05/26 职场文书
行政处罚决定书
2015/06/24 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
电力培训学习心得体会
2016/01/11 职场文书
教师学习心得体会范文
2016/01/21 职场文书