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返回,在前台转换一下,一切正常
    

     参考:http://www.cnblogs.com/si-shaohua/p/3729793.html

  • 相关阅读:
    python 中多个装饰器的执行顺序:
    Python基础思维导图
    怎样写出靠谱的RESUTful API接口?
    python中yield()的用法详解
    Flask思维导图
    Django的设计模式
    MySQL
    MySQL
    Linux
    zsh oh-my-zsh 插件推荐
  • 原文地址:https://www.cnblogs.com/sophiel/p/6760341.html
Copyright © 2011-2022 走看看