springboot+vue前后端跨域 前端配置axios.defaults.baseURL中关于端口的问题

昨晚在连接前后端项目,前端成功发送请求到后端,后端成功执行sql,但是前端f12控制台一直报错,

img

搜了一下发现是跨域问题,最后通过评论顺利解决问题,

img

但还是十分不理解,根据教程引导,src/main.js的配置应为axios.defaults.baseURL = 'http://localhost:8082/api'
8082为后端项目端口,8080为前端项目端口,将配置修改为axios.defaults.baseURL = 'http://localhost:8080/api'控制台就不再报错了。想请教一下是什么原因?

补:前端项目src/config/index.js中设置了代理

img

原教程:Vue + Spring Boot 项目实战(三):前后端结合测试(登录页面开发)

8080是前端端口,应该不能通信吧。

很正常呀,前端后端你都需要做跨域的,前端做跨域请求,实际上是”欺骗“浏览器调用的接口就是本地的(不同端口访问需要设置跨域),这样的话浏览器就不会阻止你进行访问调用了,后端做跨域,主要是设置post,delete,put,option等请求头允许访问(默认是不允许其他端口或者其他地址访问的)