我遇到了这个 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 相同的问题。
最佳答案
我在几个移动浏览器( Safari
、 Chrome
/Dolphi
n on Android
)上遇到了同样的问题。
我对 302
没有解决方案,但我找到了一个解决方法:
POST
响应,因此我们将其更改为 forwards
模式。 使用转发会导致
200
,所以 AJAX
成功处理程序(我们使用 jQuery
)可以正确检索数据。希望这可以帮助。
关于ajax - 跨域ajax不适用于移动Safari中的重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11707576/