我使用Blueimp jQuery的文件上传插件异步上传文件。 它适用于大多数其他浏览器(有一些小的问题) - 在IE浏览器,我看到这个问题的“完成”,“停止”,“总是”,“完整”和其他一些事件回调都没有得到调用。
调试时,我加入console.logs在“完成”,“失败”,“永远”,并增加了一个“完整”的方法在_onSend功能Ajax请求(在jquery.fileupload.js) - 但没有人似乎在IE中被调用。
_onSend: function (e, data) {
var that = this,
jqXHR,
slot,
pipe,
options = that._getAJAXSettings(data),
send = function (resolve, args) {
that._sending += 1;
jqXHR = jqXHR || (
(resolve !== false &&
that._trigger('send', e, options) !== false &&
(that._chunkedUpload(options) || $.ajax(options))) ||
that._getXHRPromise(false, options.context, args)
).complete(function (result, textStatus, jqXHR) {
console.log("complete");
}).done(function (result, textStatus, jqXHR) {
console.log("done", result);
}).fail(function (jqXHR, textStatus, errorThrown) {
console.log("fail", result);
}).always(function (a1, a2, a3) {
console.log("done", result);
}
});
return jqXHR;
};
[插件代码修整为可读性]
据我所知,在IE 9中,用于文件上传jquery.iframe-transport.js(如XHR文件上传不支持IE)。
我不知道我应该如何去修复/调试此问题。
谢谢!