在前端页面发送post请求给后台,出现标题的错误。
使用如下语句没有用。
response.setHeader("Access-Control-Allow-Origin", "*");
看到后台的调试信息后,发现前端发出的是options请求——之前没见过。
然后觉得可能需要Servlet来实现doOptions方法来处理这个请求。
还是报错,但这次报错的内容又不一样了。
Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.
解决方案
后来看到一篇文章找到解决方案,在doOptions方法中添加:
response.setHeader("Access-Control-Allow-Methods", "OPTIONS, GET, POST");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
response.setHeader("Access-Control-Max-Age", "86400");