IE9上的jQuery ajax问题

时间:2012-05-30 19:24:44

标签: jquery ajax asp.net-mvc internet-explorer-9

我正在使用this插件让用户通过ajax上传图片。

要创建上传器并触发帖子,请使用此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?

如果你按下open,而不是从指定位置获取文件,你实际上会得到一个包含responseJSON消息的文件。

任何可以为我提供这个问题的线索的jQuery大师?

更新:我可以确认的问题是问题不在于window.location.href = responseJSON.message;,因为即使我删除了这一行并将alert('something')发生同样的问题......所以IE尝试打开JSON响应而不是解析onComplete ...

1 个答案:

答案 0 :(得分:5)

尝试

return Json(new { Data = new { message = outputFilePathResponse } }, "text/html");

参考: IE tries to download JSON in ASP. NET MVC 3