Ashx处理程序:如果需要返回json格式的对象,需要把mime类型设置为:"application/json"。
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('p1').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"> <p id="p1"> </p> <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.Serialize Object (listUser, timeConverter); context.Response.Write(ResJsonStr); }
Atas ialah kandungan terperinci 详解jQuery getJSON是如何处理json中的数据代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!