CORS策略'Access-Control-Allow-Origin'(Anguar 8和Servlet)

问题描述 投票:0回答:1

从Angular应用向servlet doPost方法发出发布请求时出错。

Angular应用程序对doGet方法和其他doPost方法发出2个请求1。

在doGet方法中,我按照以下说明添加了以下提示

resp.setHeader("Access-Control-Allow-Origin", "*");
resp.setHeader("Access-Control-Allow-Methods", "GET");
resp.setHeader("Access-Control-Max-Age", "3600");
resp.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

并解决了我的GET调用的CORS问题。

但是即使我在doPost方法中添加了相同的标头,doPost方法也会给出CORS错误。

角度控制台显示

Access to XMLHttpRequest at 'http://localhost:8080/server/config' from origin 'http://localhost:4200' has been blocked by CORS policy.Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

服务器是用servlet编写的,并且在端口8080上运行。前端使用Angular 8编写,并在端口4200上运行。

如何解决呼叫后的CORS错误...

谢谢..

java angular servlets cors
1个回答
0
投票

在您的代码中,仅允许GET方法。更新您的代码,例如:

resp.setHeader("Access-Control-Allow-Methods", "POST,GET,PUT,OPTIONS,DELETE");

© www.soinside.com 2019 - 2024. All rights reserved.