Safari 在 302 重定向后将 Simple Cors Request 转换为 Preflight

phl*_*ppn 5 javascript safari redirect cors preflight

我发现通过 Javascript、jQuery Ajax 在 safari 上出现以下问题:

  1. 我使用 GET 提出了一个简单的 cors 请求
  2. 服务器响应 302
  3. Safari 遵循重定向但使用 OPTIONS 而不是 GET 作为方法,因此它执行预检请求

我希望第 3 步也会使用 GET 调用一个简单的请求,这正是在 Chrome 和 Firefox 中完成的方式。

问题是在第 3 步之后响应请求的服务器无法使用方法 OPTIONS 处理请求,因此失败并显示“方法不允许”状态。由于我对服务器端没有影响,我需要强制要么不自动跟随重定向而是手动进行重定向,要么以某种方式告诉 safari 不要切换到 OPTIONS。

有没有办法做这些选择之一?