前端首页查询所有功能代码:
queryAll() {
fetch("http://localhost:8096/schedule/all",
{
method: 'GET',
credentials: 'include'
})
.then((response) => {
if (response.ok) {
return response.json();
}
else {
return Promise.reject(new Error("Failed to fetch data"));
}
})
.then((data) => {
this.scheduleData = data; // 将返回的数据赋值给scheduleData
this.searchResult = data;
console.log(data)
})
.catch((error) => {
console.error(error);
});
}
出现下列报错:
解决方案,在cors配置类加上以下代码,不要使用通配符:
corsConfiguration.addAllowedOrigin("http://localhost:5173"); // 设置访问源地址
corsConfiguration.addAllowedOrigin("http://localhost:5174"); // 设置访问源地址
因为登录界面也有跨域问题,所以5174也要加进去。
还有以下报错:
解决方案,在拦截器功能代码第一行加上以下代码:
response.setHeader("Access-Control-Allow-Credentials", "true");
做完上述步骤后,跨域问题是解决了,用火狐浏览器也能得到token值了。其他功能也可以采用类似方法解决跨域问题。