2012-05-30 5 views
3

Я использую плагин 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 ...

+0

Что точка загрузки и затем DOW nloading тот же файл? Или вы делаете какое-то преобразование на нем на сервере? –

+0

Да, это преобразование, которое я делаю: от pdf до слова –

+0

Правильно ли ваш маршрут правильно переводит указатель ActionMethod? Если посмотреть через источник IE, что он показывает? Кроме того, какой тип возврата используется для метода AjaxUpload? – Shenaniganz

ответ