ajaxSubmit无法在IE jQuery Form插件中工作

时间:2011-02-28 08:18:43

标签: ajax internet-explorer model-view-controller compatibility

我正在使用jQuery表单插件在我的MVC项目中上传图像。

出于某种原因,IE中的代码不再有效(之前有效): 我可以告诉提交成功,图像上传成功,并在数据库中重新编码,但是IE中的响应似乎有些损坏。

function showResponse(responseText, statusText, xhr, $form) {
            $("#loading").hide();
            AddImage(responseText.ImageId);
            buildArray();
        }

我在Firefox,Chrome,Safari上测试过,一切正常,但是当我在IE中使用它时。

我收到了错误:

  

消息:'ImageId'为空或不是   对象

以前有人遇到过类似的问题吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

通过将内容类型从“text / plain”更改为“text / html”来解决问题,就是这样。

OMFG,Internet Explore!

我改变了代码:

return Json(newImage, "text/html", Encoding.Unicode, JsonRequestBehavior.AllowGet);

希望这也有助于其他人。

答案 1 :(得分:0)

如文档上传文档中所述:

重要的是要注意,即使dataType选项设置为'script',并且服务器实际上正在使用一些javascript响应多部分表单提交,响应的Content-Type标头也应该强制为文本/ html,否则Internet Explorer将提示用户下载“文件”。

我之前不知道它有用,但文档清楚地说明了这个问题。