asp.net MVC控制器中返回JSON格式的数据时提示下载

Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据。代码如下:

视图中js代码:

$("#form").ajaxSubmit({
                    type: "POST",
                    url: "/controller/action/",
                    datatype: "json",
                    success: function (data) {
                      alert(data.Msg);
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                    }
                });

控制器中的代码是:

ResultJsonInfo 为自定义类

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

时间: 2024-08-10 21:30:01

asp.net MVC控制器中返回JSON格式的数据时提示下载的相关文章

在IE中MVC控制器中返回JSON格式的数据时提示下载

最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("#formDoUpload").ajaxSubmit({                    type: "POST",                    url: "/controller/action/",  

解决在IE中返回JSON格式的数据时提示下载的问题

如题,以ASP.NET MVC为例,解决办法如下: 控制器中: public JsonResult Test() { return Json(json, "text/html"); } 视图中: $.post("/controller/action/", function (data) { data = JSON.parse(data); }); 解决在IE中返回JSON格式的数据时提示下载的问题

ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式. 请求Json格式: { "Cmd": "login", "Token": "", "PageNo": 0, "OnePageNu

ASP.NET MVC 4 中的JSON数据交互

前台Ajax请求很多时候需要从后台获取JSON格式数据,一般有以下方式: 拼接字符串 return Content("{\"id\":\"1\",\"name\":\"A\"}"); 为了严格符合Json数据格式,对双引号进行了转义. 使用JavaScriptSerialize.Serialize()方法将对象序列化为JSON格式的字符串 MSDN 例如我们有一个匿名对象: var tempObj=new

struts2返回json格式的数据

描述:当前端使用ajax发送请求到action时,如果需要返回json格式的数据,如对象集合.具体做法如下: 前端代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"

hive中导入json格式的数据(hive分区表)

hive中建立外部分区表,外部数据格式是json的如何导入呢? json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了 This is all according to this guide: http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/ 1 hive> ADD JAR /home/hadoop/hive-serdes-1.0-SNAPSHOT.jar; 2 Added

ASP.NET MVC 4 中的JSON数据交互总结

前台Ajax请求很多时候需要从后台获取JSON格式数据,一般有以下方式: 拼接字符串: return Content("{\"id\":\"1\",\"name\":\"A\"}"); 为了严格符合Json数据格式,对双引号进行了转义. 使用JavaScriptSerialize.Serialize()方法将对象序列化为JSON格式的字符串 例如我们有一个匿名对象: var tempObj=new { id

在ASP.NET MVC控制器中获取链接中的路由数据

在ASP.NET MVC中,在链接中附加路由数据有2种方式.一种是把路由数据放在匿名对象中传递: <a href="@Url.Action("GetRouteData","Home",new { ReturnUrl = Request.Url.PathAndQuery, x = 10})">走你</a> 一种是放在RouteValueDictionary对象中传递: <a href="@Url.Action

asp.net后台cs中的JSON格式变量在前台Js中调用方法

//后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Login_jg : System.Web.UI.Page { protected void Page_Load(object sender, EventArg