【发布时间】:2016-01-07 18:11:42
【问题描述】:
如何重现问题
- 使用 Safari 向服务器发出 AJAX 请求
- 让服务器以 302 响应到不同的域
如果这些条件中的任何一个不满足,它就会起作用。
- 使用其他浏览器,它可以工作。
- 让服务器重定向到同一个域,它可以工作。
.
Load: function (in_url, in_cb, in_responseType) {
var xhr = new XMLHttpRequest();
xhr.open('GET', in_url, true);
xhr.onload = function () {
if (xhr.status === 200) {
in_cb(null, xhr.response);
} else {
in_cb(new Error('[Loader] Could not fetch from: '+in_url+', status: '+xhr.status));
}
};
xhr.onerror = function (error) {
in_cb(error);
};
xhr.send();
}
【问题讨论】:
-
这是 Safari 的一个已知问题。从最近bugs.webkit.org/show_bug.cgi?id=112471 开始,它似乎实际上正在开发中。
-
但请确保您的服务器支持 CORS
标签: javascript safari xmlhttprequest cors http-status-code-302