ajaxForm.submit()之后在IE7中获取状态0和statusMessage“n / a”

时间:2016-02-25 12:25:38

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

我正在使用Hayageek上传插件上传文件,该插件使用ajaxForm插件。当我想处理来自IE7的上传错误时,我的问题开始了。它在Firefox,Chrome和IE10中运行良好,但在IE7中,我总是在响应的xhr对象中获得状态0,无论服务器是否返回错误。

这是我的控制器代码:

Response.StatusCode = 400; //No matter which code I return, I always get 0
return Json(new {ErrorID = 400, Level = 1, Message = "Error message"}, JsonRequestBehavior.AllowGet);

这就是我使用IE7在xhr对象中获得的内容:

{aborted: 0, responseText: "<DIV class=...", responseXML: Object {...}, status: 0, statusText: "n/a"}

请注意,在responseText中,我获得了整个视图,而不是“错误消息”。仅当我指定Response.StatusCode时才会发生这种情况。如果我对该行Response.StatusCode = 400;发表评论,我会在responseText中收到正确的消息,但我仍然会status : 0

我尝试使用dataType: 'json',但后来我得到status : parseerror,可能是因为它试图解析responseText,这是HTML中的整个视图而不是我发送的错误消息从控制器回来。

有没有办法在IE7中收到正确的状态代码和消息作为回复,还是应该放弃?

0 个答案:

没有答案