Javascript 可扩展应用程序的CORS问题
我有三个应用程序,分别是authserver、资源服务器和AngularJS中的前端应用程序。AngularJS应用程序在节点服务器上运行,其他资源在Tomcat服务器上运行。通过使用CORS的AngularJS,我能够登录到authserver(),并且无法访问资源服务器()。标题的添加方式如下所示:Javascript 可扩展应用程序的CORS问题,javascript,angularjs,spring-boot,cors,scalability,Javascript,Angularjs,Spring Boot,Cors,Scalability,我有三个应用程序,分别是authserver、资源服务器和AngularJS中的前端应用程序。AngularJS应用程序在节点服务器上运行,其他资源在Tomcat服务器上运行。通过使用CORS的AngularJS,我能够登录到authserver(),并且无法访问资源服务器()。标题的添加方式如下所示: var配置={ 标题:{ “授权”:“持有人”+authToken, “接受”:“应用程序/json;odata=verbose” } }; $http.get(资源服务器+'api/devi
var配置={
标题:{
“授权”:“持有人”+authToken,
“接受”:“应用程序/json;odata=verbose”
}
};
$http.get(资源服务器+'api/devices',配置)。然后(函数(响应){
console.log(“+response.data”);
});'''代码>问题在于,在设置的其他地方,您也设置了访问控制允许源文件
标题,而不是一个覆盖另一个,它们被服务器合并,这意味着您将得到两个值
此标头有两个值会导致错误。因此,您应该找出您正在设置此标头的其他位置,然后删除该实例或将其从上面的代码段中删除。实际上,浏览器使用http请求方法“选项”在实际请求之前发出飞行前请求。所以你必须向这个请求发送200 OK
if(httpRequest.getMethod().equals("OPTIONS")){
httpResponse.setStatus(HttpServletResponse.SC_ACCEPTED);
return;
}
您可以在上找到更多信息您的服务器是否发出CORS响应标头有两个应用程序身份验证服务器和资源服务器,我可以登录身份验证服务器,在资源服务器中收到CORS问题。我收到以下错误“Access Control Allow Origin”标头包含多个值“*,*”,但只有一个是允许的。因此不允许访问源“”。那么您应该修复错误。我已经添加了CORS筛选器,还需要做什么?