哪位大佬能给解释下为啥 vue  在main.js中直接引用axios,Vue.prototype.$http = axios;然后 用 this.$http.post() 去请求服务器数据 ,没有问题 。如果封装一层,再请求就有了跨域的问题 ?比如自己写个http. jsconst http = axios.create(...)http.get = (url, params) => {}
http.post = (url, params) => {}这样单独封一下,在调用这个去请求就会报错,出现无法访问的问题

解决方案 »

  1.   

    报错信息至少发一下啊,啥都没有,怎么看,大致猜测原因:1.this指向问题https://blog.csdn.net/qq_16687863/article/details/99654051
    2.跨域问题https://blog.csdn.net/qq_16687863/article/details/98595987
      

  2.   

    首先,你的报错信息是什么?
    然后,你这边在main中进行挂载的时候,是不是应该这样写呢?
    引入你的http.js文件,
    如此:import axios form "你的http文件路径"
    Vue.prototype.$http = axios
    当然了,前提是你在你的http中已经将axios完全配置完毕
      

  3.   

    可能使用:.proxyTable 可以解决你的问题。可参考:https://www.cnblogs.com/webhmy/p/9340361.html
      

  4.   

    那你封装了也得加到vue的属性上吧,不能直接http.吧