• 在IE中MVC控制器中返回JSON格式的数据时提示下载


         最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据。代码如下:

    视图中js代码:

       $("#formDoUpload").ajaxSubmit({
                        type: "POST",
                        url: "/controller/action/",
                        datatype: "json",
                        success: function (data) {
                          alert(data.Msg);
                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                        }
                    });

    控制器中的代码是:

     public JsonResult DoUploadModel(Model3DInfo model)
            { 

          //其他代码省略
                    return Json(new ResultJsonInfo() { Result = true, Msg = "保存成功!" });

            }

    解决方法如下,只需要修改两点,修改过的代码如下:

    控制器中:

    public JsonResult DoUploadModel(Model3DInfo model)
            { 

          //其他代码省略
                return Json(new ResultJsonInfo() { Result = true, Msg = "保存成功!" }, "text/html");
            }

    视图中:

       $("#formDoUpload").ajaxSubmit({
                        type: "POST",
                        url: "/controller/action/",
                        datatype: "json",
                        success: function (data) {
                               data = JSON.parse(data); 

              alert(data.Msg);
                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                        }
                    });

    红色的部分就是我修改的地方,让其返回按照text/html返回,在前台转换一下,一切正常

  • 相关阅读:
    Chapter 1. 数据库(介绍、主键、外键)
    练习、悬浮标签、导航菜单
    Chapter 3. document对象
    Chapter 3. JavaScript
    Chapter 2. HTML---CSS样式表(格式与布局)
    Chapter 2. HTML---CSS样式表
    12月26 一维数组
    12月23 语句
    12月23 运算符
    12月21 vs2012 数据类型
  • 原文地址:https://www.cnblogs.com/si-shaohua/p/3729793.html
Copyright © 2020-2023  润新知