1. 程式人生 > >在IE中MVC控制器中返回JSON格式的資料時提示下載

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

https://www.cnblogs.com/si-shaohua/p/3729793.html