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

巴扎黑
巴扎黑 原创
2017-07-03 09:33:37 944浏览

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中的数据代码的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。