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 相关文章推荐
自己使用js/jquery写的一个定制对话框控件
May 02 Javascript
使用ajax+jqtransform实现动态加载select
Dec 01 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
Aug 13 Javascript
AngularJS模块详解及示例代码
Aug 17 Javascript
网页瀑布流布局jQuery实现代码
Oct 21 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
Nov 27 Javascript
微信小程序学习之数据处理详解
Jul 05 Javascript
vue中各组件之间传递数据的方法示例
Jul 27 Javascript
js验证密码强度解析
Mar 18 Javascript
游戏开发中如何使用CocosCreator进行音效处理
Apr 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
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
Zend Framework处理Json数据方法详解
2016/12/09 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Python常用随机数与随机字符串方法实例
2015/04/09 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
Python WEB应用部署的实现方法
2019/01/02 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
应用化学专业本科生求职信
2013/09/29 职场文书
同学聚会策划方案
2014/06/06 职场文书
妈妈活动方案
2014/08/15 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
骨干教师申报材料
2014/12/17 职场文书
工人先进事迹材料
2014/12/26 职场文书
地震慰问信
2015/02/14 职场文书
男人帮观后感
2015/06/18 职场文书