Я использую плагин Blueimp Jquery File Upload для загрузки файлов асинхронно. Он работает хорошо в большинстве других браузеров (с несколькими незначительными проблемами) - в IE я вижу эту проблему, что вызовы «done», «stop», «always», «complete» и некоторые другие события не вызываются.blueimp jquery file upload - «done», «complete» callbacks не работает для IE 9
В процессе отладки я добавил console.logs в «done», «fail», «always» и добавил «полный» метод к запросу ajax в функции _onSend (в 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).
Я не уверен, как мне следует исправлять/отлаживать эту проблему.
Спасибо!
как мы можем это сделать для приложения rails? – CanCeylan
@CanCeylan: render: text => {...} .to_json вместо render: json => {...} – mkk
@tanushree благодарю вас за то, что нашли время, чтобы записать этот ответ. Он исправил проблему, которую я отлаживал некоторое время. – PhysX