在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返回,在前台转换一下,一切正常
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。