从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错误...
谢谢..
在您的代码中,仅允许GET方法。更新您的代码,例如:
resp.setHeader("Access-Control-Allow-Methods", "POST,GET,PUT,OPTIONS,DELETE");