ajax - 跨域ajax不适用于移动Safari中的重定向

标签 ajax redirect safari cross-domain mobile-safari

我遇到了这个 WebKit 错误中提到的这个问题:
https://bugs.webkit.org/show_bug.cgi?id=57600

问题在于移动版 Safari,它适用于 Google Chrome 和 Firefox。我重定向跨域 ajax 请求的相同代码适用于 Google Chrome 和 Firefox,但不适用于移动 Safari。

据我了解,该错误是在 WebKit 版本 525 中提交的:
https://bugs.webkit.org/show_bug.cgi?id=57600

并在 WebKit 版本 528 中解决(我认为这是因为在同一问题上打开了不同的回归错误):
https://lists.webkit.org/pipermail/webkit-unassigned/2012-April/429252.html

但是,对于 iPhone 设备上的移动 Safari,重定向被拒绝,即使我有 WebKit 版本 534(更高版本)的移动 Safari。

有没有人遇到过这种行为,是否有解决方案?

注意:我确实定义了跨域 (CORS) header (因为它可以在 Google Chrome 和 Firefox 中使用)。

编辑:与 Safari for Windows 相同的问题。

最佳答案

我在几个移动浏览器( SafariChrome/Dolphi n on Android )上遇到了同样的问题。

我对 302 没有解决方案,但我找到了一个解决方法:

  • 我们使用的 Java 框架可以重定向或转发 POST响应,因此我们将其更改为 forwards模式。

  • 使用转发会导致 200 ,所以 AJAX成功处理程序(我们使用 jQuery )可以正确检索数据。

    希望这可以帮助。

    关于ajax - 跨域ajax不适用于移动Safari中的重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11707576/

    相关文章:

    css - 背景大小的动画不适用于 Safari

    html - 我的 ".hours"在 Chrome 中显示不正确。但是,在 Atom 中它显示正常。可能是什么问题?

    css - Safari 上的 Flex box 问题——移动和桌面

    html - 可添加书签的 Ajax

    AngularJS SEO htaccess : redirect root domain to snapshot

    linux - 从带有 www 的域重定向到根域 - 工作但不完全正确

    javascript - 根据选项重定向提交按钮

    javascript - 在 MVC4 中使用 Ajax 调用 Action 方法

    Javascript 类和 DWR

    javascript - 从 PHP 获取实时回复