昨晚在连接前后端项目,前端成功发送请求到后端,后端成功执行sql,但是前端f12控制台一直报错,
搜了一下发现是跨域问题,最后通过评论顺利解决问题,
但还是十分不理解,根据教程引导,src/main.js
的配置应为axios.defaults.baseURL = 'http://localhost:8082/api'
,
8082为后端项目端口,8080为前端项目端口,将配置修改为axios.defaults.baseURL = 'http://localhost:8080/api'
控制台就不再报错了。想请教一下是什么原因?
补:前端项目src/config/index.js中设置了代理
原教程:Vue + Spring Boot 项目实战(三):前后端结合测试(登录页面开发)
8080是前端端口,应该不能通信吧。
很正常呀,前端后端你都需要做跨域的,前端做跨域请求,实际上是”欺骗“浏览器调用的接口就是本地的(不同端口访问需要设置跨域),这样的话浏览器就不会阻止你进行访问调用了,后端做跨域,主要是设置post,delete,put,option等请求头允许访问(默认是不允许其他端口或者其他地址访问的)