PanJiaChen / vue-element-admin

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
MIT License
87.98k stars 30.47k forks source link

跨域请求问题求解 #3523

Open jspao opened 3 years ago

jspao commented 3 years ago

开发场景

  1. 本地起的php环境, 地址为http://localhost:9999
  2. 接口完整地址为http://localhost:9999/api/admin/login
  3. 前端地址为http://localhost:9528
  4. 前端用的 vue-admin-template

    vue.config.js 配置截图

    image

    .env.development 配置截图

    image

    request.js 配置截图

    image

    浏览器控制台截图

    image

    Network截图

    image

    疑问

    设置了跨域以后,个人理解的正常情况下,在network中的接口请求地址应该是http://localhost:9999/api/admin/login才对的

但是为啥最终展示的还是9528端口的那个地址,也不知道是哪儿出的问题(备注: mock 已经全部被我移除)

求解答疑惑, :memo:

soulmate126 commented 3 years ago

应该是接口代理没有匹配到,可以这样试试

'/api': {
      target: 'http://localhost:9999/',
      changeOrigin: true
 }

或者相同域名可以吧proxy 去掉,把BASE_API 设置成 http://localhost:9999/

changgong1 commented 3 years ago

碰到一样的问题。按poulSoul 配置能跑通本地,但是打包到正式环境,又不行。正式环境的web服务是tomcat服务。

soulmate126 commented 3 years ago

碰到一样的问题。按poulSoul 配置能跑通本地,但是打包到正式环境,又不行。正式环境的web服务是tomcat服务。

配置一份生产构建的环境变量,把接口地址写给 VUE_APP_BASE_API

changgong1 commented 3 years ago

请求到了生产服务了,但是出现了tomcat(8.5.60)跨域的问题。试了几个filter 都未能解决?是什么原因呢? 参考了这个官方文档配置:http://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#Add_Default_Character_Set_Filter/Initialisation_parameters