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 相关文章推荐
文字幻灯片
Jun 26 Javascript
jquery如何实现锚点链接之间的平滑滚动
Dec 02 Javascript
js中各种类型的变量在if条件中是true还是false
Jul 16 Javascript
返回函数的JavaScript函数
Jun 14 Javascript
angular实现spa单页面应用实例
Jul 10 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 Javascript
JavaScript引用类型Array实例分析
Jul 24 Javascript
Vue创建头部组件示例代码详解
Oct 23 Javascript
详解处理Vue单页面应用SEO的另一种思路
Nov 09 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
JS使用new操作符创建对象的方法分析
May 30 Javascript
用vue写一个日历
Nov 02 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
example1.php
2006/10/09 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
JavaScript类库D
2010/10/24 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
精彩的推荐信范文
2013/11/26 职场文书
《在家里》教后反思
2014/03/01 职场文书
决心书标准格式
2014/03/11 职场文书
绩效考核实施方案
2014/03/18 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
golang语言指针操作
2022/04/14 Golang
mysql 子查询的使用
2022/04/28 MySQL
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript