vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue项目中axios配置

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

作者:土豆丶杨

这篇文章主要介绍了vue项目中axios配置方式(代理配置),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、引入axios包

npm install axios --save

二、建立axios文件夹

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

在api文件夹下新建ajax.js和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': ''
                }    
            }
        }
    }
}

总结

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

您可能感兴趣的文章:
阅读全文