透過jQuery的Ajax,呼叫server端的aspx,回傳JSON格式的資料

内容来自:http://www.dotblogs.com.tw/hatelove/archive/2011/11/22/jquery-ajax-aspx-json.aspx

前言
如同標題的關鍵字一般,『jQuery, Ajax, aspx, JSON』,這一篇文章用個簡單的範例來說明這幾個東西怎麼串起來。

需求與步驟

  1. Sample.aspx上按一個HTML Button。
  2. 用GET方式,向JSON.aspx發送Request。
  3. JSON.aspx回傳的資料格式需轉成JSON。
  4. Ajax接到回傳的JSON資料後,呈現在<div>裡面。

 

Sample Code

1. Sample.aspx:
(1)使用$.ajax
(2)使用GET方式呼叫aspx
(3)Ajax成功時,使用$.parseJSON來把data字串轉成array
(4)使用$.each()將每一個element組成html。(這邊可以先組好html,再做一次塞給#result)

01	<htmlxmlns="http://www.w3.org/1999/xhtml">
02	<headrunat="server">
03	    <title></title>
04	    <scriptsrc="//code.jquery.com/jquery-1.6.1.js"type="text/javascript"></script>
05	    <scripttype="text/javascript">
06	        $(document).ready(function () {
07	            $('#btnTrigger').bind('click', function () {
08	                $.ajax(
09	            {
10	                type: "GET",
11	                url: "Json.aspx",
12	                success: function (data) {
13	                    var myarray = $.parseJSON(data);
14	                    $.each(myarray, function (i, item) {
15	                        var content = "index:" + i + "; Name: " + item.Name + "; Id: " + item.Id;
16	                        var li = "<li>" + content + "</li>";
17	                        $('#result').append(li);
18	                    });
19	                }
20	            });
21	            });
22	        });
23	
24	    </script>
25	</head>
26	<body>
27	    <formid="form1"runat="server">
28	    <div>
29	        <inputid="btnTrigger"type="button"value="trigger ajax"/>
30	        <div>
31	            <ulid="result">
32	            </ul>
33	        </div>
34	    </div>
35	    </form>
36	</body>
37	</html>

 


2.JSON.aspx:

(1)若使用aspx來回傳,請將.aspx上的所有html移除,只留下第一個Page指示詞就好。

1	<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Json.aspx.cs" Inherits="Json" %>

3.JSON.aspx.cs:

(1)在Page_Load裡面(其實可以在Page_Init,應該會更快一點點)。
(2)透過JavaScriptSerializer來將要回傳的集合序列化成JSON格式。
(3)透過Response.Write()來回傳資料。
(4)回傳完資料,呼叫Response.End()結束這個Request。

01	public partialclass Json : System.Web.UI.Page
02	{
03	    protectedvoid Page_Load(objectsender, EventArgs e)
04	    {
05	        JavaScriptSerializer serializer =new JavaScriptSerializer();
06	        var responseEntities =new List<Person>()
07	        {
08	            newPerson{ Name="Joey1", Id="Id1"},
09	            newPerson{ Name="Joey2", Id="Id2"}
10	        };
11	
12	        var result = serializer.Serialize(responseEntities);
13	        Response.Write(result);
14	        Response.End();
15	    }
16	}
17	public classPerson
18	{
19	    publicstring Name { get;set; }
20	    publicstring Id { get;set; }
21	}

 

結果畫面

image


結論
這麼簡單的範例,就是為了凸顯一些基本觀念的應用。希望對那些還不熟悉jQuery, ajax, JSON的朋友,能有所幫助。能幫助他們不再被postback綁住。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值