仅对一个文件进行CORS检查失败

时间:2017-01-27 23:35:52

标签: cors preflight

我正在尝试使用XHR从我自己的服务器加载3个资源(.js文件)。在3个资源中,使用适当的CORS标头成功加载2个。然而第三个失败了。在Chrome开发者工具中,我看到HTTP GET请求,对于此资源,但状态显示为200,我只在控制台中看到错误。

XMLHttpRequest无法加载。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' https://origin_host_name'因此不允许访问。

Chrome开发者工具似乎无法显示转机前请求(即OPTIONS)。无论如何都要弄清楚为什么请求只对其中一个资源失败了?

在服务器端,我使用的是CORS过滤器 - https://bitbucket.org/thetransactioncompany/cors-filter

在web.xml中进行了以下设置

  <filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
    <async-supported>true</async-supported>
    <init-param>
      <param-name>cors.allowOrigin</param-name>
      <param-value>*</param-value>
    </init-param>
    <init-param>
      <param-name>cors.supportedMethods</param-name>
      <param-value>GET,HEAD</param-value>
    </init-param>
    <init-param>
      <param-name>cors.supportedHeaders</param-name>
      <param-value>*</param-value>
    </init-param>
    <init-param>
      <param-name>cors.exposedHeaders</param-name>
      <param-value>X-CSRF-Token, token</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

0 个答案:

没有答案