zoukankan      html  css  js  c++  java
  • 在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返回,在前台转换一下,一切正常

  • 相关阅读:
    webpack 关于跨域的配置
    如何使用css变量
    样式重置
    vue+element_ui上传文件,并传递额外参数(自动上传)
    LeetCode-46-全排列
    LeetCode-39-组合总数
    LeetCode-33-搜索旋转排序数组
    LeetCode-207-课程表
    LeetCode-15-三数之和
    LeetCode-盛最多水的容器
  • 原文地址:https://www.cnblogs.com/si-shaohua/p/3729793.html
Copyright © 2011-2022 走看看