当使用ajaxForm jQuery插件时,IE尝试下载json响应

我已经尝试了一切,不知道什么似乎是问题.

问题:IE在提交之前下载json响应不会触发.

我正在使用IE 11.

我正在使用jQuery – ajaxForm插件.
用它实现文件上传.
一切都与chrome完美搭配,一切都与IE无关.

IE尝试下载json响应,并且在函数之前不执行插件.

JS代码

var options = {
    beforeSend: beforeSubmit,uploadProgress: progressSubmit,success: uploadSuccess,complete: completeSubmmit
};

form.ajaxForm(options);

手动点击执行的实际请求.

('#submitBtn').click();

我正在使用MVC-3控制器,HttpPost动作接收HttpPostedFile.
响应是一个简单的viewmodel包含几个字符串.

我尝试了以下所有方法,没有任何效果.

尝试:

Response.Headers.Remove("Content-Type");
Response.Headers.Add("content-type","application/json");

return Json(vm,"text/html");
return Content(JsonSerializerHelper.Serialize(vm),"text/html");
return Json(vm);

提琴手:

Chrome请求:

Content-Length: 606
Pragma: no-cache
Cache-Control: no-cache
Accept: */*
Content-Type: multipart/form-data; boundary=----    WebKitFormBoundary4ABojutLkBGFbphB
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,he;q=0.6,pt;q=0.4,ru;q=0.
Content-disposition: form-data; name="file"; filename="customersBulk.csv"
Content-Type: application/vnd.ms-excel

Chrome响应:

HTTP/1.1 200 OK
Cache-Control: private,s-maxage=0
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
x-frame-options: SAMEORIGIN
Date: Thu,29 Jan 2015 18:19:47 GMT
Content-Length: 469

-- and the actual Json object. --

IE请求:

Accept: text/html,application/xhtml+xml,*/*
Accept-Language: he-IL
Content-Type: multipart/form-data; boundary=---------------------------7df28b2e1c126c
Accept-Encoding: gzip,deflate
Connection: Keep-Alive
Content-Length: 691
DNT: 1
Host: localhost
Pragma: no-cache
Content-disposition: form-data; name="file";     filename="MY_PATH\..\customersBulk.csv"
Content-Type: application/vnd.ms-excel
-----------------------------7df28b2e1c126c--

IE响应:

HTTP/1.1 200 OK
Cache-Control: private,29 Jan 2015 18:15:50 GMT
Content-Length: 558

-- and the Json as well. --

版本:
jQuery表单插件

版本:3.50.0-2014.02.05
需要jQuery v1.5或更高版本

有任何想法吗?

解决方法

你可以尝试下面的事情:

$('#YourFormId').bind('submit',function() { return false; });

这将阻止原始表单提交过程.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...