欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue 对axios get pust put delete封装的实例代码

程序员文章站 2022-04-09 16:26:56
axios.js import axios from 'axios'; import qs from 'qs'; import {message} from 'ele...

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封装的实例代码

以上就是本次介绍的全部相关知识点,感谢大家的学习和对的支持。

以上就是全部实例代码,感谢大家的学习和对的支持。