请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

急求老师帮助!axios请求前面自带了去不掉的lhost:8080

VUE_APP_baseURL=http://10.68.15.191:8513

上面是.env.development的代码

let config = {
  baseURL: process.env.VUE_APP_baseURL,
  timeout: 60 * 1000, // Timeout
  withCredentials: true, // Check cross-site Access-Control
};

const _axios = axios.create(config);

这里是截取的关键代码,axios是从vue ui的插件里下载的
接着是调用的关键代码:

    created () {
      this.operate(this.pageInfo)
    },
    methods: {
      async operate (params) {

        this.list = await this.axios.get('/audit/audit/getOperationLog', { params })
        console.log(this.list)
      }
    },

正在回答 回答被采纳积分+3

1回答

提问者 幸福谷 2019-07-03 23:05:25

问题出在这句代码上了withCredentials: true,把它删掉就可以了。还有因为我是直接通过vue ui的插件来安装axios的,它里面通过Plugin.install的方式来配置的,(这里只是其中的一部分,希望老师在vue ui里面下载axios来体验

Plugin.install = function(Vue, options) {
  Vue.axios = _axios;
  window.axios = _axios;
  Object.defineProperties(Vue.prototype, {
    axios: {
      get() {
        return _axios;
      }
    },
    $axios: {
      get() {
        return _axios;
      }
    },
  });
};

Vue.use(Plugin)

export default Plugin;

最后,是重点请教时间(这个问题纠结蛮久了一直没想明白)

1.如果我也单独建一个api.js文件(单独放接口)来引用,要怎么写代码引用到axios实例?(.vue文件可以通过this.axios来引用)

2.是不是vue.config.js文件不用配置跨域了?

0 回复 有任何疑惑可以回复我~
  • Sam #1
    1、通过import或者require引用都可以,我们的项目支持commonjs和es模块混写
    2、vue.config.js不用配置跨域,跨域设置是服务端配置的
    回复 有任何疑惑可以回复我~ 2019-07-04 09:10:11
  • 提问者 幸福谷 回复 Sam #2
    老师,我是按照你的代码测试别的接口没事,一测试公司内网就报错:http://localhost:8080/audit/%E2%80%9Chttp://10.68.15.191:8513/audit/audit/getOperationLog?pageNum=1&pageSize=2
    (这是多出来的前缀要怎么去掉啊http://localhost:8080/audit/%E2%80%9C)
    回复 有任何疑惑可以回复我~ 2019-07-04 09:18:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信