【发布时间】:2020-05-07 14:31:42
【问题描述】:
最近在使用 Google Chrome 时遇到了一些主要的 CORS 问题:
从源“...”访问“...”处的 XMLHttpRequest 已被阻止 根据 CORS 政策:对预检请求的响应未通过访问 控制检查:它没有 HTTP ok 状态。
奇怪的是,该请求在 Mozilla Firefox 上完美运行。
我尝试向服务器添加不同的标头,包括:
Access-Control-Allow-Headers:Content-Type,Authorization,X-Requested-With,Accept,Access-Control-Request-Method,Origin,Access-Control-Request -标题
访问控制允许方法:GET、POST、DELETE、PUT、OPTIONS、HEAD
访问控制允许来源:*
此外在“CORS 块”之前有一个 OPTIONS 请求方法 Google Chrome 发送我的服务器,但在这里我收到 500 服务器错误:
javax.servlet.ServletException:一个 MultiException 有 4 个异常。 它们是:
javax.ws.rs.ProcessingException:为 wadl 处理创建 JAXBContext 时出错。
java.lang.IllegalStateException:无法执行操作:创建于 org.glassfish.jersey.server.wadl.internal.WadlApplicationContextImpl
- java.lang.IllegalArgumentException:尝试解决依赖关系时 org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler 发现错误
java.lang.IllegalStateException:无法执行操作:解决 org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432) org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) com.isyndix.rest.CORSFilter.doFilter(CORSFilter.java:40)
这有什么关系吗?
提前感谢您的帮助和时间。
干杯!
【问题讨论】:
标签: google-chrome request cors