IE尝试在提交jQuery多部分表单数据包含文件时下载json响应

前端之家收集整理的这篇文章主要介绍了IE尝试在提交jQuery多部分表单数据包含文件时下载json响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过jQuery.Form插件提交一个带有文件字段的表单,这里是代码
$('form').ajaxSubmit({
  url: "/path",dataType: "json",contentType: "multipart/form-data"
...

服务器然后返回json作为响应。在除IE以外的所有浏览器中工作良好,IE尝试将响应作为文件下载。如果我从窗体中删除文件字段,它也可以正常工作。

我在这里和在谷歌看到各种解决方案,基本上尝试了几乎所有描述,包括通过jQuery设置表单的enctype,但它没有工作。

任何建议将非常欢迎。

解决方法

你可以简单地从控制器返回JSON作为“text / html”,然后在客户端使用JQuery.parseJSON()解析它。

控制器:

return this.Json(
            new
                {
                    prop1 = 5,prop2 = 10
                },"text/html");

客户端:

jsonResponse = $.parseJSON(response);

if(jsonResponse.prop1==5) {
     ...
}

这个解决方案一直为我工作。

猜你在找的jQuery相关文章