Я использую плагин this, чтобы пользователи могли загружать изображения через ajax.jQuery ajax issue on IE9
Чтобы создать загрузчик и запустить пост используется эта функция JQuery:
function createUploader() {
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
allowedExtensions: ['pdf'],
multiple: false,
action: '@Url.Action("AjaxUpload", "Upload")',
onComplete: function(id, fileName, responseJSON){
window.location.href = responseJSON.message;
}
});
}
Ну, в responseJSON.message
Я возвращаю путь, где был закачанный файл (фактически превращали) и я делаю трюк с window.location.href
, чтобы заставить браузер отображать окно пользователя DOWNLOAD для этого файла.
Это отлично работает на FF и Chrome, но в IE он говорит:
Do you want to open or save AjaxUpload from localhost?
А если нажать открыто, вместо того, чтобы файл из указанного места, вы действительно получите файл, содержащий responseJSON сообщения ,
Любой гуру jQuery, который может дать мне ключ к этой проблеме?
UPDATE: Что я могу подтвердить, что проблема не связана с window.location.href = responseJSON.message;
, потому что даже если удалить эту строку и поставить alert('something')
те же проблемы возникает, ... так что вместо разбора onComplete
, IE попытаться открыть ответ JSON ...
Что точка загрузки и затем DOW nloading тот же файл? Или вы делаете какое-то преобразование на нем на сервере? –
Да, это преобразование, которое я делаю: от pdf до слова –
Правильно ли ваш маршрут правильно переводит указатель ActionMethod? Если посмотреть через источник IE, что он показывает? Кроме того, какой тип возврата используется для метода AjaxUpload? – Shenaniganz