JSON

AJAX MVC server返回Json数据,client获取Json数据

字号+ 作者:H5之家 来源:H5之家 2017-04-25 13:00 我要评论( )

技术交流学习或者有任何问题欢迎加群 : 154514123 标签: 控制器 Controller using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Script.Serialization;namespace MvcApplication2.C

技术交流学习或者有任何问题欢迎加群 : 154514123 

标签:                           

<>

控制器 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(); } //---------------------------------第一种写法:server返回一个Json对象 public ActionResult GetData1() { JsonResult json = new JsonResult(); json.JsonRequestBehavior = JsonRequestBehavior.AllowGet; //同意来自client的HTML GET请求 json.Data = new { code = 0, message = "成功" }; return json; //这里直接返回一个json对象给client,client通过ajax的请求后,获得的直接就是一个json对象,不须要再用$.parseJSON(data)这个方式将字符串转换成Json对象了,由于取到的本身就是一个json对象。而不是一个字符串。 } //---------------------------------另外一种写法:server返回一个Json对象 public ActionResult GetData2() { //事实上调用的是JsonResult类下的这种方法:protected internal JsonResult Json(object data); //注意:Json()是一个方法,參数是一个object类型的对象。返回值是JsonResult类型 return Json(new { code = 0, message = "ON" }); //通过測试:採用这样的形式。client只能通过异步的Post请求才干取到数据,假设异步Get请求,无法获取数据 } //---------------------------------第三种写法:server返回一个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格式的字符串。

所以client通过ajax请求后。获得的这个数据不过一个json格式的字符串,所以须要用$.parseJSON(data)这个方式将字符串转换成Json对象 } } }



视图 View

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



AJAX MVC server返回Json数据,client获取Json数据

标签:                           

原文:

技术交流学习或者有任何问题欢迎加群 : 154514123 

广告推荐

讨论区

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • json返回数据中包括html标签直接显示标签的问题

    json返回数据中包括html标签直接显示标签的问题

    2017-04-23 10:02

  • javascript解析ajax返回的xml和json格式数据实例详解

    javascript解析ajax返回的xml和json格式数据实例详解

    2017-04-21 14:00

  • springmvc学习笔记-返回json的日期格式问题的解决方法

    springmvc学习笔记-返回json的日期格式问题的解决方法

    2017-04-21 10:02

  • ECSHOP中实现ajax弹窗登录功能

    ECSHOP中实现ajax弹窗登录功能

    2017-04-19 16:00

网友点评