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中各种trim的实现详细解析
Dec 10 Javascript
Javascript优化技巧之短路表达式详细介绍
Mar 27 Javascript
基于JS实现简单的样式切换效果代码
Sep 04 Javascript
jQuery+HTML5美女瀑布流布局实现方法
Sep 21 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
Sep 22 Javascript
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
微信小程序下拉框功能的实例代码
Nov 06 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
webpack.DefinePlugin与cross-env区别详解
Feb 23 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
加速XP搜索功能堪比vista
2007/03/22 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
浅析PHP开发规范
2018/02/05 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
PHP7 新增常量
2021/03/09 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
JS继承用法实例分析
2015/02/05 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
python适合做数据挖掘吗
2020/06/16 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
环境工程毕业生自荐信
2013/11/17 职场文书
关于美容院的活动方案
2014/08/14 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
小学新教师个人总结
2015/02/05 职场文书
入党积极分子群众意见
2015/06/01 职场文书
正规欠条模板
2015/07/03 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
导游词之山东孔庙
2019/11/04 职场文书
Go 内联优化让程序员爱不释手
2022/06/21 Golang