首頁  >  文章  >  web前端  >  詳解jQuery getJSON是如何處理json中的資料程式碼

詳解jQuery getJSON是如何處理json中的資料程式碼

巴扎黑
巴扎黑原創
2017-07-03 09:33:371217瀏覽

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(&#39;p1&#39;).innerHTML=data;//因为mime类型是文本 所以返回回来的是json格式的字符串 
} 
}); 
} 
function jsonTest2() 
{ 
$.getJSON( 
&#39;Handler.ashx&#39;, 
{&#39;type&#39;: &#39;json&#39;,&#39;name&#39;:&#39;qixuejia&#39; }, //类型格式 
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&#39;-&#39;MM&#39;-&#39;dd&#39; &#39;HH&#39;:&#39;mm&#39;:&#39;ss"; 
string
 ResJsonStr = JsonConvert.Serialize
Object
(listUser, timeConverter); 
context.Response.Write(ResJsonStr); 
}


#

以上是詳解jQuery getJSON是如何處理json中的資料程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn