在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