AJAX MVC 服务器返回Json数据,客户端获取Json数据

<>

控制器 Controller

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Script.Serialization;namespace MvcApplication2.Controllers{public class HomeController : Controller{public ActionResult Index(){return View();}//———————————第一种写法:服务器返回一个Json对象public ActionResult GetData1(){JsonResult json = new JsonResult();json.JsonRequestBehavior = JsonRequestBehavior.AllowGet; //允许来自客户端的HTML GET请求json.Data = new { code = 0, message = "成功" };return json; //这里直接返回一个json对象给客户端,客户端通过ajax的请求后,获得的直接就是一个json对象,,不需要再用$.parseJSON(data)这个方式将字符串转换成Json对象了,因为取到的本身就是一个json对象,而不是一个字符串。}//———————————第二种写法:服务器返回一个Json对象public ActionResult GetData2(){//其实调用的是JsonResult类下的这个方法:protected internal JsonResult Json(object data);//注意:Json()是一个方法,参数是一个object类型的对象,返回值是JsonResult类型return Json(new { code = 0, message = "ON" }); //通过测试:采用这种形式,客户端只能通过异步的Post请求才能取到数据,如果异步Get请求,无法获取数据}//———————————第三种写法:服务器返回一个Json格式的字符串public ActionResult GetData3(){JavaScriptSerializer json = new JavaScriptSerializer();var jsonObj = new { code = 1, message = "OK" }; //构造一个对象string jsonStr = json.Serialize(jsonObj); //将这个对象转换成json格式的字符串return Content(jsonStr); //返回一个json格式的字符串。 所以客户端通过ajax请求后,获得的这个数据仅仅是一个json格式的字符串,所以需要用$.parseJSON(data)这个方式将字符串转换成Json对象}}}

视图 View

<html><head><meta name="viewport" content="width=device-width" /><title>Index</title><script src="~/jquery-1.11.2.js"></script></head><body><div><button id="submit1">提交1</button> <button id="submit2">提交2</button><button id="submit3">提交3</button></div></body></html><script type="text/javascript">$(function () {$("#submit1").click(function () {$.get("/Home/GetData1", function (data) { //服务器端返回的是一个Json对象,所以这个data是一个json对象,并不是一个json格式的字符串。alert(data.code); //打印出:0alert(data.message);//打印出:成功//除了以上的取值方式外下面的方式也是可以取到值的alert(data["code"]); //打印出:0alert(data["message"]); //打印出:成功})})})</script><script type="text/javascript">$(function () {$("#submit2").click(function () {//不知道为什么这种一定要是异步Post请求,如果是异步Get请求无法取到数据$.post("/Home/GetData2", function (data) { //服务器端返回的是一个Json对象,所以这个data是一个json对象,并不是一个json格式的字符串。alert(data.code); //打印出:0alert(data.message); //打印出:ON})})})</script><script type="text/javascript">$(function () {$("#submit3").click(function () {$.get("/Home/GetData3", function (data) { //服务器返回的是一个json格式的字符串,所以这个data是一个字符串,并不是一个对象var jsonObj = $.parseJSON(data); //将这个字符串 转换成json对象alert(jsonObj.code); //打印出:1alert(jsonObj.message); //打印出:OK})})})</script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

午餐,晚餐。或许吃得不好,可是却依旧为对方擦去嘴角的油渍。

AJAX MVC 服务器返回Json数据,客户端获取Json数据

相关文章:

你感兴趣的文章:

标签云: