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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM