先我們來看一個官方的實例使用AJAX 請求來獲得JSON 數據,並輸出結果: 複製程式碼 程式碼如下: $("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ , function(i, field){ $("div").append(field " "); }); });}); 🎜>函數是簡寫的Ajax 函數,等價於: 複製程式碼 程式碼如下: 程式碼如下:$.ajax({ url: url, data: data, success: callback, dataType: json}); 發送🎜>到伺服器的資料可作為查詢字串附加到URL 之後。如果 data 參數的值是物件(映射),那麼在附加到 URL 之前將轉換為字串,並進行 URL 編碼。 傳遞給 callback 的返回數據,可以是 JavaScript 對象,或以 JSON 結構定義的數組,並使用 $.parseJSON() 方法進行解析。 從test.js 載入JSON 資料並顯示JSON 資料中一個name 欄位資料:複製程式碼 程式碼如下: $.getJSON("test.js", function(json){ alert("JSON Data: " json.users[3].name);}); 一個與asp.net實例先給出要傳的json資料:[{"demoData":"This Is The JSON Data"}]1,使用普通的aspx頁面來處理我覺得這種方式處理起來是最簡單的了,看下面的程式碼吧複製程式碼吧 代碼如下: $.ajax({ type: "post", url: "Default.aspx", dataType: "json", success: function (data) { (data[0].demoData); error: function (XMLHttpRequest, textStatus, errorThrown) { > });這裡是後台傳遞資料的程式碼 複製程式碼 程式碼如下: 程式碼如下:Response. Clear(); Response.Write("[{"demoData":"This Is The JSON Data"}]"); Response.Flush(); Response.End(); 這種處理的方式將傳遞過來的數據直接解析為json數據,也就是說這裡的前台js代碼可能直接把這些數據解析成json對象數據,而並非字符串數據,如data [0].demoData,這裡就直接使用了這個json物件資料2,使用webservice(asmx)來處理這種處理方式就不會將傳遞過來的數據當成是json物件數據,而是作為字串來處理的,如下程式碼 複製程式碼 程式碼如下:$.ajax ({ type: "post", url: "JqueryCSMethodForm.asmx/GetDemoData", dataType: "json",/*這句話可用,沒有影響*/Typesuccess: function (data) { $("input#showTime").val(eval('(' data.d ')')[0 ].demoData);//這裡有兩種對資料的轉換方式,兩處理方式的效果一樣//$("input#showTime").val(eval(data.d)[0].demoData );}, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorTh n); 🎜>下面這裡asmx的方法碼 複製程式碼 程式碼如下:[WebMethodMethod static string GetDemoData() { return "[{"demoData":"This Is The JSON Data"}]"; 就把這個處理方式傳遞回來的json數據當成了字串來處理的,所在就要對這個數據進行eval的處理,這樣才能成為真正的json對象數據,我們先來看一下html模板: 複製程式碼 程式碼如下: 订单ID 客户ID 雇员ID 订购日期 发货日期 货主名称 货主地址 货主城市 更多信息 🎜> 一定要注意的就是裡面所有的id屬性,這是一個關鍵。再來看看AJAX請求和綁定資料的程式碼 複製程式碼 程式碼如下: 程式碼如下: 程式碼如下: type: "get",//使用get方法存取後台 url: "BackHandler.ashx",//要存取的後台位址 data: "pageIndex=" pageIndex,//要傳送的資料 隱藏loading提示 success: function(msg){//msg為返回的數據,在這裡做資料綁定 $.each(data, function(i, n){ var row = $("#template").clone(); .text(n.訂單ID); row.find(" #CustomerID").text(n.顧客ID); row.find("#Employee row.find("#OrderDate").text(ChangeDate (n.訂購日期)); if(n.出貨日期!== undefined) row.find row. find("#ShippedName").text(n.貨主名稱); row.find() row.find("#ShippedCity"). text(n.貨主城市); row.find("#more").html(""); row.appendTo("#datas");//新增至範本的容器內 });這是jQuery的AJAX方法,回傳資料並不複雜,主要說明一下怎麼把資料依範本的定義顯示到頁面上。首先是這個「var row = $("#template").clone();」先把模板複製一份,接下來row.find("#OrderID").text(n.訂單ID);,表示找到id=OrderID的標記,設定它的innerText為對應的數據,當然也可以設定為html格式的數據。或是透過外部的函數把資料轉換成需要的格式,例如這裡row.find("#OrderDate").text(ChangeDate(n.訂購日期));有點伺服器控制項做模板綁定資料的感覺。 所有的這些,都是放在一個靜態的頁面裡,只透過AJAX方法從後台取得數據,所有html程式碼如下: 複製程式碼 程式碼如下: test1 value=" < " /> value=" >> " /> 订单ID 客户ID 雇员ID 订购日期 发货日期 货主名称 货主地址 货主城市 更多信息 div> >