【问题标题】:Recently I'm having CORS problems only in Google Chrome最近我只在 Google Chrome 中遇到了 CORS 问题
【发布时间】: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 个异常。 它们是:

  1. javax.ws.rs.ProcessingException:为 wadl 处理创建 JAXBContext 时出错。

  2. java.lang.IllegalStateException:无法执行操作:创建于 org.glassfish.jersey.server.wadl.internal.WadlApplicationContextImpl

  3. java.lang.IllegalArgumentException:尝试解决依赖关系时 org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler 发现错误
  4. 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


    【解决方案1】:

    显然这与服务器后端未正确处理 OPTIONS-preflight 有关。
    我已经在 REST 端点中实现了 OPTIONS 方法:

    @OPTIONS
    public Response options() {
        return Response.ok().build();
    }
    

    请记住,这不是处理问题的好方法,因为您需要为 API 中的每个端点实现此功能。
    但我没有找到更好的解决方案,这对我有用。

    干杯!

    【讨论】:

    • 这对我也有用,我同意这不是一个好的解决方案。
    猜你喜欢
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2016-03-22
    • 2020-10-05
    相关资源
    最近更新 更多