由于在公司中在做的项目是前后端分离的项目,于是自己准备用Springboot写后端,前端使用Ajax请求调用接口.
于是我新建了两个项目,一个专门负责后端的接口,一个负责前端web显示,它们都在本机运行,唯一的区别就在于端口号不一样。可实际运行项目时发现调用后端api的请求并没有调用成功。浏览器报错
Access to XMLHttpRequest at 'http://localhost:8080/xxxx' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
其实就是跨域请求的问题
,解决方法也很简单
前端Ajax:
在ajax中加上xhrFields: { withCredentials: true },
$.ajax({
url: "localhost:8080/api/register",
type: "POST",
xhrFields: {
withCredentials: true
},
});
后端Springboot:
在方法或者类上加上@CrossOrigin(allowCredentials = "true",allowedHeaders = "*")