jQuery getJSON 处理json数据的代码 |
本文标签:jQuery,getJSON Html代码: 复制代码 代码如下: <script type="text/javascript" src="/js/jquery-1.4.js"></script> <script type="text/javascript"> function jsonTest1() { $.ajax({ url:"Handler.ashx", data:{"type":"ajax"}, datatype:"json", type:"get", success:function(data) { document.getElementById(div1).innerHTML=data;//因为mime类型是文本 所以返回回来的是json格式的字符串 } }); } function jsonTest2() { $.getJSON( Handler.ashx, {type: json,name:qixuejia }, //类型格式 function(data) { for(var i=0;i<data.length;i++) { alert(data[i]["UserId"]) } } ); } </script> <form id="form1" runat="server"> <div id="div1"> </div> <input type="button" value="jQuery.ajax()" onclick="jsonTest1()"/> <input type="button" value="jQuery.getJSON()" onclick="jsonTest2()"/> </form> Ashx处理程序:如果需要返回json格式的对象,需要把mime类型设置为:"application/json" 。 查看jQuery源文件,可以看出getJSON这样实现的: getJSON: function( url, data, callback ) { return jQuery.get(url, data, callback, "json"); }, 复制代码 代码如下: public void ProcessRequest(HttpContext context) { if (context.Request.Params["type"].Equals("ajax")) { context.Response.ContentType = "text/plain"; } else { context.Response.ContentType = "application/json"; } GetInfo(context); } public bool IsReusable { get { return false; } } public void GetInfo(HttpContext context) { System.Collections.Generic.List<UserInfo> listUser = UserInfoManage.GetUserInfoBySQL("Select Top 5 * From Userinfo"); IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; string ResJsonStr = JsonConvert.SerializeObject(listUser, timeConverter); context.Response.Write(ResJsonStr); } |