asp.net-mvc-2 – 使用Jquery表单插件上传图片在IE8中不起作用

我在我的MVC项目中使用jQuery表单插件进行图像上传.

图像上传在Chrome和Firefox中非常完美,但是当涉及到IE 8时.

与Chrome不同,它不是返回后来提交回调消耗的json数据,而是在IE 8中返回一个txt文件并询问您是否要下载.在txt文件中,它是json数据.

无法弄清楚我做错了什么,有什么想法吗?

提前致谢.

代码放在一个单独的js文件中:
upload.js

(function ($) {
ImageUploader = function (o) {

        var options = {


            success: showResponse,  // post-submit callback 

            url:    "/Image/ImageUpload",         // override for form's 'action' attribute 
            type:      "post",        // 'get' or 'post', override for form's 'method' attribute 
            dataType: 'json',        // 'xml', 'script', or 'json' (expected server response type) 
            clearForm: true        // clear all form fields after successful submit 

        };

        o.ajaxForm(options);

        $("input#file").change(function () {
            o.submit();
        });

// post-submit callback 
        function showResponse(responseText, statusText, xhr, $form) {
        ....
    }
 };
})(jQuery);

在页面视图:

$(document).ready(function () {
ImageUploader($("#ajaxUploadForm"));
});

最佳答案 经过互联网的痛苦挖掘后,我终于得到了我的解决方案,非常乐意分享它:

jQuery表单插件根本没有问题.

问题是错误的IE 8无法很好地处理Json回调.即使你指定类型为“application / json”

解决方案:将内容类型从“application / json”更改为“text / plain”
在MVC JsonResult中

 return Json(newImage, "text/plain", JsonRequestBehavior.AllowGet);
点赞