vue-cli封装get put delete post 请求(参数中带header)

需要注意请求参数header的传参方式略有不同

import axios from 'axios'
const service = {
    /**
     * @desc GET 请求
     * @param {String} url 请求地址
     * @param {Object} params 请求参数
     */
    get (url, params,headers) {
        return new Promise((resolve, reject) => {
            axios.get(url, {
                params: params,
                headers:headers
            })
            .then(res => {
                //console.log(jsonpChangeJson(res.data),456);
                if(res.data.code==0){
                    resolve(res.data.result);
                }
            })
            .catch(err => {
                reject(err.data);
            })
        })
    },
    /**
     * @desc POST 请求
     * @param {String} url 请求地址
     * @param {Object} params 请求参数
     */
    post (url, params,headers) {
        return new Promise((resolve, reject) => {
            axios.post(url, JSON.stringify(params),{headers:headers})
            .then(res => {
                if(res.data.code==0){
                    resolve(res.data.result);
                }
            })
            .catch(err => {
                reject(err.data);
            })
        })
    },
    /*
    *patch 请求方法
    * @param url
    * @param data
    * @returns {Promise}
    */
    patch (url, params,headers) {
        return  new Promise((resolve, reject) => {
            axios.patch(url, params,)
            .then(response => {
                resolve(response.data)
            }).catch(err => {
                reject(err)
            })
        })
    },
  /*
  *put 请求方法
  * @param url
  * @param data
  * @returns {Promise}
   */
  put (url, params,headers) {
    return new Promise((resolve, reject) => {
        axios.put(url, params,{
            headers: headers
        })
        .then(function(response){
            resolve(response.data)
        })
        .catch(function(err){
            reject(err)
        });
    })
  },
  delete (url, params,headers) {
    return new Promise((resolve, reject) => {
        axios.delete(url, {
            params: params,
            headers:headers
        })
        .then(function(response){
            resolve(response.data)
        })
        .catch(function(err){
            reject(err)
        });
    })
  },
}

export default service

你可能感兴趣的:(vue,vue,异步请求的封装)