vue axios网络请求方法封装

本文详细介绍了一个基于Axios的HTTP请求封装方法,包括GET、POST、PUT和DELETE等常见请求方式的封装实现,通过实例展示了如何在项目中引入并使用这些封装好的请求方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建一个REQUEST.js文件

import axios from 'axios'
// import qs from 'qs'
// import store from '@/store'
import router from '../../router/index'

// get封装
export function getAjax (url, params = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.get(url, {
        params: params,
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        })
        .catch(err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}
// 使用,引入REQUEST文件,然后使用getAjax就OK了,参数直接拼接在url
// getAjax(url,参数).then(res => {方法})

// delete封装
export function deleteAjax (url, params = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.delete(url, {
        params: params,
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        })
        .catch(err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}

// post封装
export function postAjax (url, data = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.post(url, data, {
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        }, err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}
// 使用,引入REQUEST,然后使用postAjax就OK了
// postAjax(url, data).then(res => {方法})

// put封装
export function putAjax (url, data = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.put(url, data, {
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        }, err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值