• 调用接口时,生产环境,路径加斜杠“/”和不加的区别


    在做BI项目的时候,因为后台修改了接口的前缀,导致我直接从后台获取URL,但是后面出现了一个奇怪的现象

    在本地环境的时候正常,首页饼图可以正常显示,但是生产环境就出现问题,不能正常显示,找了很久一直没有找到问题的原因,查看问题之后,发现生产环境在前面添加了一个项目名称‘tb’,正常接口应该是下面这样

     

    之前用的是原生的axios,以为是这个问题,但是我改成了封装的axios,发现问题还是没解决,最后找到了问题的原因,是因为在调用接口的时候前面没有  ‘/’的原因

    解决办法:

    在接口前面添加‘/’就可以了

    代码:

            //运行态调用接口获取数据
            async getSqlData() {
                let api = this.allParamsObj.configData.selTableName
                //原生方式
                // axios.defaults.baseURL = process.env.VUE_APP_URL
                // await axios.get('/'+api, {
                //     params: this.form
                // })
                // .then(res => {
                //     if (res.data.code == 200) {
                //         let data = res.data.data
                //         this.relationship = data.relationship
                //         this.renderBiData && this.renderBiData(JSON.stringify(res.data))
                //     }
                // })
                //用axios封装的 下面这种方式注意data
                await this.$ajax.get('/'+api, this.form).then(res => {
                    if (res.code == 200) {
                        let data = res.data
                        this.relationship = data.relationship
                        this.renderBiData && this.renderBiData(JSON.stringify(res))
                    }
                })
            },

    原因分析:

    加斜杠和不加斜杠的区别就是,斜杠会直接指向项目里面的具体文件,而不加的时候只会指向项目的最外层,所以就会拼接上一个项目名称

  • 相关阅读:
    H5基础
    函数
    分支结构/循环结构
    图解 idea打jar包的步骤
    jmeter查看使用文档后总结
    Ride的使用
    Robot Framework
    jmeter+ant+jenkins
    ant
    Mysql选择合适的数据类型
  • 原文地址:https://www.cnblogs.com/pengfei25/p/15234812.html
Copyright © 2020-2023  润新知