再开发MVC项目时,有时只需要从控制器中返回一个处理的结果,这时返回Json格式的数据非常的方便,在Controller中,提供了几种返回类型和方法,如:

Content()

返回文本类型的ContentResult:,比如“Hello,World!”;

File()

返回文件类型的内容FileResult,比如PDF

HttpNotFound()

返回包含404HTTP状态码的HttpNotFoundResult.

JavaScript()::返回JavaSciptResult

返回包含JavaScript内容的JavaScriptResult,比如:“function hello(){alert("Hello world!")}”

Json()

返回JSON格式数据的JsonResult,比如:“{"Message":"Hello world!"}”.我们这边就是要用该方法返回到视图一个json对象

PartialView()

返回包含部分视图内容的PartialViewResult,(例如,视图可不包含结局)。

Redirect()

返回一个包含302跳转状态值RedirectResult,跳转到给定的URL上。例如,“302 http://www.yh117.com/auctions/recent”.这个方法包含一个同级别的放啊RedirectPermanent(),它同样返回RedirectResult,但是使用的是301状态码去只是一个永久的跳转地址,而不是临时地址。

RedirectToAction()和RedirectToRoute()

与Redirect()类似,只有框架可以动态查询路由引擎来确定外部的URL.与Redirect()一样,他们同样包含永久跳转方法:RedirectToActionermanent()和RedirectToRoutePermanent()

View()

返回渲染视图的ViewResult()

综上所述:MVC框架提供了各种情况下需要的操作结果类型,我们可以自由决定使用哪种类型。

下面是我写的一个例子,返回JSon格式的

视图中的代码:

<script>
        function GetJosn()
        {
            alert(1);
            $.get("/Home/BookInfo", {id:"1"}, function (data) {
                alert(data.Result);
            },"json");
        }
    </script>

用的是Get方法获取的,这里需要注意的是“json”必须要用引号的,这是jquery语法

Controller中的中的代码是:

public JsonResult BookInfo(string id) {
            ResultJsonInfo resultInfo = new ResultJsonInfo();
            resultInfo.Result = true;
            resultInfo.Msg = "好啊";
            return Json(resultInfo,JsonRequestBehavior.AllowGet);
        }

这里用了一个ResultJsonInfo类的对象,包含返回结果和Message,然后利用JSON()方法返回该对象就行,不需要将该对象转成json格式,同事注意用GET方法获取时,在JSON()方法中一定要指定可以用Get获取,否则会获取不到。

MVC4中视图获取控制器中返回的json格式数据的更多相关文章

  1. 在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时

    在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ...

  2. javascript解析从服务器返回的json格式数据

    在javascript中我们可以将服务器返回的json格式数据转换成json格式进行使用,如下: 1.服务器返回的json格式数据: 通过response.responseText获得: " ...

  3. 将PHP程序中返回的JSON格式数据用gzip压缩输出

    //phpinfo(); 搜索下 zlib 是否开启 //此示例开启压缩 Content-Length:124 Size: 404B //未开启gzip压缩 Content-Length:675 Si ...

  4. c# 通过URl 获取返回的json格式数据

    方法一 http://blog.csdn.net/angle_greensky110/article/details/52209497 protected string GetJson(string ...

  5. 后台获取POST方式提交的JSON格式数据

    1.直接使用request.getParamater()的方法获取(这种取参方式对于POST和GET的提交方式均适用): 2.通过请求体的IO流获取参数(这种方式只能用于POST,因为GET方式没有请 ...

  6. ajax请求后台,返回json格式数据,模板!

    添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...

  7. .netcore2.1在控制器中和类中,获取appsettings中值的方法

    一般我们在开发项目中,都会从配置文件中获取数据库连接信息.自定义参数配置信息等. 在.netcore中在控制器和自定义类中,获取配置文件中参数方式如下: appsettings.json { &quo ...

  8. struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)

    JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象: 由JSON格式字符串创建,转换成JavaScript的List或数组链表对象. 更多关于J ...

  9. html中通过js获取接口JSON格式数据解析以及跨域问题

    前言:本人自学前端开发,一直想研究下js获取接口数据在html的实现,顺利地找到了获取数据的方法,但是有部分接口在调用中出现无法展示数据.经查,发现时跨域的问题,花费了一通时间,随笔记录下过程,以方便 ...

随机推荐

  1. SQL优化,解决系统运行效率瓶颈

    http://www.cnblogs.com/SameZhao/p/4737725.html

  2. 照着官网来安装openstack pike之keystone安装

    openstack基础环境安装完成后,现在开启安装keystone服务(在控制节点上执行下面所有操作) 1.为keystone创建数据库 mysql -u root -p MariaDB [(none ...

  3. 《Java程序设计》 第2周学习总结

    20145318 <Java程序设计>第2周学习总结 教材学习内容总结 short,2字节:int,4字节:long,8字节:byte,1字节:float,4字节:double,8字节:c ...

  4. 无线网卡在 MAC 系统下的安装与使用过程

    MAC系统安装netgear无线网卡的方法: 1)去网件官网下载相应的驱动软件 2)单击页面左侧的“Version 1.0.0.0”进入下载页面如下图 3)选择对应您系统版本的驱动程序,按右键保存到计 ...

  5. [BZOJ4653 区间]

    Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x ...

  6. nginx解决跨域问题

    背景:由于公司有个项目是.net写的,但是开发人员已经离职好久了.老项目也不怎么变动就没有招新人,于是乎就把项目交接给了一位php开发人员. 今天那位php开发人员跑过来,说https://wap.a ...

  7. 客户端发一个post请求

    public static String doPostStr(String httpUrl, String str) { HttpPost httpPost = null; try { HttpCli ...

  8. webservice的SOAP代理设置

    我们的服务器是可以访问的 设置的代理同样也可以访问 接下来设置代理 接着打开TCP窗口 最后来看数据

  9. Ubuntu16.04 + Digits + caffee

    reference: csdn 必要依赖包安装 sudo apt-get install build-essential sudo apt-get install --no-install-recom ...

  10. Android -- ContentObserver 内容观察者

    1. 实现原理图 2. 示例代码 (暂时有个问题,短信观察者 收到一条短信时 onchange方法会执行两次, 解决方法为:每次监听到变化的时候就去取最新短信的id,跟上次取的比较,如果一样的就不做处 ...