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': ''
                }    
            }
        }
    }
}

总结

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

相关文章

  • Vue中的assets和static目录:使用场景及区别说明

    Vue中的assets和static目录:使用场景及区别说明

    这篇文章主要介绍了Vue中的assets和static目录:使用场景及区别说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 深度解读vue-resize的具体用法

    深度解读vue-resize的具体用法

    这篇文章主要介绍了vue-resize深度解读,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vue实现标签云效果的示例

    vue实现标签云效果的示例

    这篇文章主要介绍了vue实现标签云效果的示例,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2020-11-11
  • vue 监听 Treeselect 选择项的改变操作

    vue 监听 Treeselect 选择项的改变操作

    这篇文章主要介绍了vue 监听 Treeselect 选择项的改变操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 如何在 Vue 中使用 Axios 异步请求API

    如何在 Vue 中使用 Axios 异步请求API

    Axios 是 Javascript 中最受欢迎的 HTTP 库之一,我们可以用它在 Vue 程序中调用API。在本文中我们用 Vue 3 和 Axios 写一个侃爷语录小应用,可以用这个小程序学习英语,同时也能从侃爷的话中得到一些启发,而且还可以学习用 Vue 异步请求API,一举多得,何乐而不为呢?
    2021-05-05
  • Element-ui Drawer抽屉按需引入基础使用

    Element-ui Drawer抽屉按需引入基础使用

    这篇文章主要为大家介绍了Element-ui Drawer抽屉按需引入基础使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 在vant中使用时间选择器和popup弹出层的操作

    在vant中使用时间选择器和popup弹出层的操作

    这篇文章主要介绍了在vant中使用时间选择器和popup弹出层的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 简单理解vue中el、template、replace元素

    简单理解vue中el、template、replace元素

    这篇文章主要帮助大家简单理解vue中el、template、replace元素,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Vue实现高德坐标转GPS坐标功能的示例详解

    Vue实现高德坐标转GPS坐标功能的示例详解

    生活中常用的几种坐标有:WGS-84、GCJ-02与BD-09。本文将利用Vue实现高德坐标转GPS坐标功能,即实现GCJ-02坐标转换成WGS-84坐标,需要的可以参考一下
    2022-04-04
  • Vue iframe更改src后页面未刷新问题解决方法

    Vue iframe更改src后页面未刷新问题解决方法

    这篇文章主要介绍了Vue iframe更改src后页面未刷新问题解决,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04

最新评论