欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

详解jQuery getJSON是如何处理json中的数据代码

程序员文章站 2022-05-21 08:53:45
...
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); 
}

以上就是详解jQuery getJSON是如何处理json中的数据代码的详细内容,更多请关注其它相关文章!