使用jQuery的$.getJson方法可以异步的获取服务器端返回的json字符串。
$.getJson方法语法
$.getJson(url,parameters,callback) |
|
参数 |
|
url |
(字符串)将要通过GET方法进行交互的服务器端资源的url。 |
parameters |
|
callback |
(函数)回调函数,在请求完成时被调用。把响应体解析为json字符串,这个字符串的值作为第一个参数传递到这个回调函数,响应状态作为第二个参数传递到该函数。 |
返回值 |
XHR实例 |
下面看个例子
客户端代码:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $().ready(function () { $('#clk').click(function () { var num = $(this).val(); $.getJSON('Server.aspx',callback) }) function callback(json,status) { $.each(json,function (i) { $('#show').append('name:' + json[i]['Name'] + 'age:' + json[i]['Age'] + '<br/>'); }) } }) </script> </head> <body> <input id="clk" type="button" value="button" /> <div id="show"> </div> </body> </html>
服务端主要代码:
运行程序,结果如图:
如果你不熟悉json格式,也不要紧。可以使用System.Web.Script.Serialization(framework 3.5)命名空间下为格式化为json的帮助类。我们可以把服务器端Page_Load事件中注释的代码变为可用。把Response.Write(GetJSONData())这句注释掉。再运行程序,结果没有问题,如下图。它把类直接格式化为json字符串,省去了很多时间。