VIew:
1 @section scripts{ 2 <script type="text/javascript"> 3 $(function () { 4 LoadData1(); 5 LoadData2(); 6 LoadData3(); 7 PostData(); 8 }); 9 //如果不使用getJson方法获取数据,而返回的是JsonResult的情况下,这个时候不需要反序列化; 10 function LoadData1() { 11 $.get("/Home/T1", function (data) { 12 $("#Demo1")[0].innerText = data.name + ' ' + data.age; 13 }); 14 }; 15 //如果不使用getJson方法获取数据,在返回的是ContentResult的情况下,需要反序列化返回值,因为返回的是一个字符串; 16 function LoadData2() { 17 $.get("/Home/T2", function (data) { 18 var $data = JSON.parse(data); 19 $("#Demo2")[0].innerText = $data.name + ' ' + $data.age; 20 }); 21 }; 22 //LoadData3和LoadData2的Action是一样,但前端实现少了序列化,因为在这里Jquery调用的是getJson方法 23 function LoadData3() { 24 $.getJSON("/Home/T2", function (data) { 25 $("#Demo2")[0].innerText = $data.name + ' ' + $data.age; 26 }); 27 }; 28 function PostData() { 29 //var obj = new Object(); 30 //obj.Name = 'zmm'; 31 //obj.Age = 32; 32 //obj.Sex = 'femal'; 33 //obj.Marray = 'yes'; 34 35 var obj = { Name: 'zmm', Age: 33, Sex: 'femal', Marray: 'yes' }; 36 37 38 $.post('/Home/T3',{ person: obj } , function (data) { 39 if (data.success) { 40 alert("upload success!!!!!!" + ' ' + data.msg); 41 } 42 else { 43 alert('upload Failer!!'); 44 } 45 }); 46 47 //$.ajax({ 48 // url: '/Home/T3', 49 // type: 'post', 50 // dataType: 'json', 51 // contentType: 'application/json;charset=utf-8', 52 // traditional: true, 53 // success: function (data) { 54 // alert("upload success!!!!!!" + ' ' + data.msg); 55 // }, 56 // data: JSON.stringify({ person: obj }) 57 //}); 58 }; 59 </script> 60 }
Controller:
1 /// <summary> 2 /// JsonResult继承自ActionResult,所以JsonResult一定会实现方法ExecuteResult 3 /// 在这里肯定用到了多态! 4 /// </summary> 5 /// <returns></returns> 6 public ActionResult T1() 7 { 8 var data = new { name = "zmm", age = 32 }; 9 return Json(data, JsonRequestBehavior.AllowGet); 10 } 11 /// <summary> 12 /// ContentResult继承自ActionResult,所以Content Result一定会实现方法ExecuteResult 13 /// 在这里肯定也运用到了多态! 14 /// </summary> 15 /// <returns></returns> 16 public ActionResult T2() 17 { 18 var data = new { name = "zmm", age = 32 }; 19 var dataStr = Newtonsoft.Json.JsonConvert.SerializeObject(data); 20 return Content(dataStr); 21 22 } 23 24 public ActionResult T3(Person person) 25 { 26 var name = person.Name; 27 var age = person.Age; 28 var sex = person.Sex; 29 var marray = person.Marray; 30 var msg = name + " " + age + " " + sex + " " + marray; 31 32 var result = new { success = true, msg = msg }; 33 return Json(result); 34 }