vue CORS error跨域问题及解决过程
浏览器报错
Access to XMLHttpRequest at 'http://localhost:9070/rooms' from origin
'http://localhost:8080' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个错误提示是因为浏览器的同源策略(Same-Origin Policy)限制了跨域请求。
在默认情况下
浏览器只允许在同一域名下的请求,如果请求的域名不同,就会出现CORS错误。
要解决这个问题,需要在后端服务器上设置CORS头部,允许跨域请求。
具体的方法
是在后端服务器的响应头部中添加Access-Control-Allow-Origin头部,指定允许跨域请求的域名。
如果你使用的是Spring Boot框架,可以在Controller类或方法上添加@CrossOrigin注解,指定允许跨域请求的域名。
例如:
@RestController
@CrossOrigin(origins = "http://localhost:8080")
public class RoomController {
@GetMapping("/rooms")
public List<Room> getRooms() {
// ...
}
}
这样就可以允许来自http://localhost:8080域名的跨域请求了。
如果你使用的是其他后端框架,可以查阅相应的文档,了解如何设置CORS头部。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue在 for 循环里使用异步调用 async/await的方法
大家都遇到这样的问题,在使用函数的async/await异步调用时候,放在正常函数中单个调用时没有问题的,但是await放在forEach()循环里面就会报错,本文给大家介绍vue 如何在 for 循环里面使用异步调用 async/await,感兴趣的朋友一起看看吧2023-10-10


最新评论