vue项目中axios配置方式(代理配置)

 更新时间:2024年07月26日 10:13:49   作者:土豆丶杨  
这篇文章主要介绍了vue项目中axios配置方式(代理配置),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、引入axios包

npm install axios --save

二、建立axios文件夹

在src根目录下新建api文件夹

在api文件夹下新建ajax.js和index.js文件

  • ajax.js 用于配置通用的axios接口方法。
  • index.js 用于开发从接口获取数据方法。

ajax.js

/*
ajax请求函数模块
返回值: promise对象(异步返回的数据是:response.data)
*/
import axios form 'axios'
export default function ajax(url,data = {}, type = 'GET'){
    return new Promise(function(resolve, reject) {
        //异步执行ajax请求
        let promise
        if(type === 'GET'){
            let dataStr = '' // 数据拼接字符串
            Object.key(data).forEach(key => {
                dataStr += key + '=' data[key] + '&' 
            })
            if(dataStr != ''){
                dataStr = dataStr.substring(0,dataStr.lastIndexOf('&'))
                url = url + '?' + dataStr
            }
            // 发送get请求
            promise = axios.get(url)
        } else {
            promise = axios.post(url,data)
        }
        promise.then(function(response) {
            //成功了调用resolve()
            resolve(response.data)
        }).catch(function(error) {
            //失败了调用reject() 
            reject(error)   
        })
    })
}

index.js

/*
    包含n个接口请求函数的模块
    函数的返回值: promise对象
*/
import ajax from './ajax.js'

// 无参数
export const getAddress = () => ajax(`/api/NETworkPlatform/GetTotalData`)


// 有参数
export const getAddress = (transid) => ajax(`/api/NETworkPlatform/GetTotalData`,{transid})

三、配置代理(实现跨域)

在vue.config.js中

module.exports = {
    devServer: {
        port: 8080,
        host: 'localhost',
        open: true,
        https: false,
        proxy: {
            'api': {
                target: 'https://localhost:44384',
                changeOrigin: true,
                ws: false,
                pathRewrite: {
                    '^/apis': ''
                }    
            }
        }
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue2和Vue3的nextTick实现原理

    Vue2和Vue3的nextTick实现原理

    Vue 中的数据绑定和模板渲染都是异步的,那么如何在更新完成后执行回调函数呢?这就需要用到 Vue 的 nextTick 方法了,本文详细介绍了Vue2和Vue3的nextTick实现原理,感兴趣的同学可以参考一下
    2023-04-04
  • uniapp前端支付篇之微信、抖音、快手、h5四个平台支付功能

    uniapp前端支付篇之微信、抖音、快手、h5四个平台支付功能

    支付功能在我们日常开发中经常会遇到,下面这篇文章主要给大家介绍了关于uniapp前端支付篇之微信、抖音、快手、h5四个平台支付功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • 浅谈Vuejs中nextTick()异步更新队列源码解析

    浅谈Vuejs中nextTick()异步更新队列源码解析

    本篇文章主要介绍了浅谈Vuejs中nextTick()异步更新队列源码解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • vue-router3.0版本中 router.push 不能刷新页面的问题

    vue-router3.0版本中 router.push 不能刷新页面的问题

    这篇文章主要介绍了vue-router3.0版本中 router.push 不能刷新页面的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • vue实现将图像文件转换为base64

    vue实现将图像文件转换为base64

    这篇文章主要介绍了vue实现将图像文件转换为base64,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Vue组件中slot的用法

    Vue组件中slot的用法

    这篇文章交详细的给大家介绍了vue组件中slot的用法,主要是让组件的可扩展性更强,具体内容详情大家参考下本文
    2018-01-01
  • vue filters的使用详解

    vue filters的使用详解

    使用 filters 实现英文字母转大写,实现代码超简单,本文重点给大家介绍vue filters的使用,感兴趣的朋友一起看看吧
    2018-06-06
  • vue升降版本以及如何查看项目版本

    vue升降版本以及如何查看项目版本

    这篇文章主要给大家介绍了关于vue升降版本以及如何查看项目版本的相关资料,在开发和维护Vue.js应用程序时了解所使用的Vue.js版本非常重要,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 使用provide/inject实现跨组件通信的方法

    使用provide/inject实现跨组件通信的方法

    在 Vue 应用中,组件间通信是构建复杂应用时的一个常见需求,Vue3.x 提供了provide和inject API,让跨组件通信变得更加简洁和高效,本文将深入探讨如何使用provide和inject在Vue3.x中实现跨组件通信,并通过示例代码一步步进行说明,需要的朋友可以参考下
    2024-03-03
  • uniapp开发打包成H5部署到服务器的详细步骤

    uniapp开发打包成H5部署到服务器的详细步骤

    前端使用uniapp开发项目完成后,需要将页面打包,生成H5的静态文件,部署在服务器上这样通过服务器链接地址,直接可以在手机上点开来访问,下面小编给大家讲解uniapp开发打包成H5部署到服务器的步骤,感兴趣的朋友一起看看吧
    2022-11-11

最新评论