我们正在使用 ajaxSubmit 来处理项目中的媒体上传。这是我们正在做的精简版:
form.ajaxSubmit({
beforeSend: function(data) {
var auth = "Basic " + Base64.encode(username + ":" + password);
data.setRequestHeader("Authorization", auth);
},
complete: function(xhr) {
// Do other stuff
}
});
在其他浏览器中,这似乎可以完美运行。例如,在 Chrome 的网络检查器中,我们可以看到 Authorization 标头纯为 day:
授权:Basic MjAwMD....等
在 IE 9(和 8,但我们并不真正关心 8...)中,情况并非如此。当我们运行请求时,标头中没有授权,并且由于缺少凭据(这反过来会向用户弹出一个登录框),我们会立即从服务器返回 401 错误。
从我在这里阅读的内容来看,该插件应该回退到“旧”浏览器中的 iframe 上传。我们知道在我们打开基本身份验证之前它在 IE9 中工作,但现在我们遇到了上面列出的问题。
我对这个领域不是很熟悉(如果你不能从我对这个问题的曲折描述中分辨出来),所以任何正确方向的帮助或指示将不胜感激。