最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery內置的AJAX功能和JSON的使用實例

 更新時間:2014年07月27日 13:53:53   投稿:whsnow  
通過jQuery內置的AJAX功能,訪問后臺獲得JSON格式的數據,然后通過jQuer把數據直接在頁面上顯示,需要的朋友可以參考下

通過jQuery內置的AJAX功能,直接訪問后臺獲得JSON格式的數據,然后通過jQuer把數據綁定到事先設計好的html模板上,直接在頁面上顯示。
我們先來看一下html模板:

<table id="datas" border="1" cellspacing="0" style="border-collapse: collapse">
<tr>
<th>
訂單ID</th>
<th>
客戶ID</th>
<th>
雇員ID</th>
<th>
訂購日期</th>
<th>
發(fā)貨日期</th>
<th>
貨主名稱</th>
<th>
貨主地址</th>
<th>
貨主城市</th>
<th>
更多信息</th>
</tr>
<tr id="template">
<td id="OrderID">
</td>
<td id="CustomerID">
</td>
<td id="EmployeeID">
</td>
<td id="OrderDate">
</td>
<td id="ShippedDate">
</td>
<td id="ShippedName">
</td>
<td id="ShippedAddress">
</td>
<td id="ShippedCity">
</td>
<td id="more">
</td>
</tr>
</table>

一定要注意的就是里面所有的id屬性,這個是一個關鍵。再來看一下AJAX請求和綁定數據的代碼

$.ajax({
type: "get",//使用get方法訪問后臺
dataType: "json",//返回json格式的數據
url: "BackHandler.ashx",//要訪問的后臺地址
data: "pageIndex=" + pageIndex,//要發(fā)送的數據
complete :function(){$("#load").hide();},//AJAX請求完成時隱藏loading提示
success: function(msg){//msg為返回的數據,在這里做數據綁定
var data = msg.table;
$.each(data, function(i, n){
var row = $("#template").clone();
row.find("#OrderID").text(n.訂單ID);
row.find("#CustomerID").text(n.客戶ID);
row.find("#EmployeeID").text(n.雇員ID);
row.find("#OrderDate").text(ChangeDate(n.訂購日期));
if(n.發(fā)貨日期!== undefined) row.find("#ShippedDate").text(ChangeDate(n.發(fā)貨日期));
row.find("#ShippedName").text(n.貨主名稱);
row.find("#ShippedAddress").text(n.貨主地址);
row.find("#ShippedCity").text(n.貨主城市);
row.find("#more").html("<a href=OrderInfo.aspx?id=" + n.訂單ID + "&pageindex="+pageIndex+">&nbsp;More</a>"); 
row.attr("id","ready");//改變綁定好數據的行的id
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.訂購日期));有點服務器控件做模板綁定數據的感覺。
所有的這些,都是放在一個靜態(tài)的頁面里,只通過AJAX方法從后臺獲取數據,所有html代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test1</title>

<script language="javascript" type="text/javascript" src="js/jquery-latest.pack.js"></script>

<script language="javascript" type="text/javascript" src="js/PageDate.js"></script>

</head>
<body>
<div>
&nbsp;<div>
<br />
<input id="first" type="button" value=" << " /><input id="previous" type="button"
value=" < " /><input id="next" type="button" value=" > " /><input id="last" type="button"
value=" >> " />
&nbsp;<span id="pageinfo"></span>
<table id="datas" border="1" cellspacing="0" style="border-collapse: collapse">
<tr>
<th>
訂單ID</th>
<th>
客戶ID</th>
<th>
雇員ID</th>
<th>
訂購日期</th>
<th>
發(fā)貨日期</th>
<th>
貨主名稱</th>
<th>
貨主地址</th>
<th>
貨主城市</th>
<th>
更多信息</th>
</tr>
<tr id="template">
<td id="OrderID">
</td>
<td id="CustomerID">
</td>
<td id="EmployeeID">
</td>
<td id="OrderDate">
</td>
<td id="ShippedDate">
</td>
<td id="ShippedName">
</td>
<td id="ShippedAddress">
</td>
<td id="ShippedCity">
</td>
<td id="more">
</td>
</tr>
</table>
</div>
<div id="load" style="left: 0px; position: absolute; top: 0px; background-color: red">
LOADING....
</div>
<input type="hidden" id="pagecount" />
</div>
</body>
</html>

PageData.js就是包括上面AJAX請求和綁定數據代碼的js,整個頁面連form都不用,這樣做有什么好處呢。再看下面一個模板

<ul id="datas">
<li id="template">
<span id="OrderID">
fsdfasdf
</span>
<span id="CustomerID">
</span>
<span id="EmployeeID">
</span>
<span id="OrderDate">
</span>
<span id="ShippedDate">
</span>
<span id="ShippedName">
</span>
<span id="ShippedAddress">
</span>
<span id="ShippedCity">
</span>
<span id="more">
</span>
</li>
</ul>

還 是要注意id屬性。大家看到這里應該明白了,不管用什么樣的表現形式,只要id屬性相同,就可以把數據綁定到對應的位置。這樣的話,我們這些做程序的就不 會因為美工的修改而修改代碼了,而且美工也只要做出html就可以了,不需要為服務器控件做模板(不過我還沒遇到過這樣的美工,都是美工設計好了我來改成 服務器控件的模板)。

再簡單說一下AJAX請求的后臺,用的是Access的Northwind數據庫,把訂單表放到DataTable里,然后通過DataTable2JSON轉化成JSON數據格式傳回來就完了,不過后臺用了一些分頁和緩存的方法,希望對初學者有一些幫助。

相關文章

  • jQuery.ajax實現根據不同的Content-Type做出不同的響應

    jQuery.ajax實現根據不同的Content-Type做出不同的響應

    使用H5+ASP.NET General Handler開發(fā)項目,使用ajax進行前后端的通訊。有一個場景需求是根據服務器返回的不同數據類型,前端進行不同的響應,這里記錄下如何使用$.ajax實現該需求,需要的朋友可以參考下
    2016-11-11
  • JQuery中DOM加載與事件執(zhí)行實例分析

    JQuery中DOM加載與事件執(zhí)行實例分析

    這篇文章主要介紹了JQuery中DOM加載與事件執(zhí)行,實例分析了jQuery中DOM加載及事件執(zhí)行的原理與實現方法,并補充說明了windows.onload方法和$(document).ready()方法的區(qū)別,需要的朋友可以參考下
    2015-06-06
  • jQuery Tools Dateinput使用介紹

    jQuery Tools Dateinput使用介紹

    對于時間控件我比較喜歡用jQuery-ui的那個,我也比較推薦那個,所以這篇我就不對屬性,函數,API進行翻譯了
    2012-07-07
  • jQuery內容折疊效果插件用法實例分析(附demo源碼)

    jQuery內容折疊效果插件用法實例分析(附demo源碼)

    這篇文章主要介紹了jQuery內容折疊效果插件用法,結合實例形式分析了jQuery展開折疊插件jquery.coolfieldset.js的具體使用技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-04-04
  • jQuery彈框插件使用方法詳解

    jQuery彈框插件使用方法詳解

    這篇文章主要為大家詳細介紹了jQuery彈框插件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • jquery插件hiAlert實現網頁對話框美化

    jquery插件hiAlert實現網頁對話框美化

    hiAlert是一款基于jQuery的信息提示插件,它支持操作成功、操作失敗和操作提醒三種信息提示方式。hiAlert瀏覽器兼容性非常好,支持更改提示內容,支持定位提示框的位置,可配置插件參數。
    2015-05-05
  • JQuery在循環(huán)中綁定事件的問題詳解

    JQuery在循環(huán)中綁定事件的問題詳解

    下面小編就為大家?guī)硪黄狫Query在循環(huán)中綁定事件的問題詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 使用jquery模擬a標簽的click事件無法實現跳轉的解決

    使用jquery模擬a標簽的click事件無法實現跳轉的解決

    這篇文章主要給大家介紹了關于使用jquery模擬a標簽的click事件無法實現跳轉的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • jquery利用json實現頁面之間傳值的實例解析

    jquery利用json實現頁面之間傳值的實例解析

    本文主要介紹了jquery利用json實現頁面之間傳值的方法,具有很好的參考價值,需要的朋友可以看下
    2016-12-12
  • jQuery實現的進度條效果

    jQuery實現的進度條效果

    本文主要給大家介紹的是jQuery實現的進度效果的實例代碼,其實現原理就是使用 Javascript 控制 SPAN CSS 的寬度(以及其他的樣式)有需要的小伙伴可以參考下。
    2015-07-07

最新評論

无极县| 密云县| 普洱| 襄樊市| 都江堰市| 达孜县| 宝鸡市| 仁化县| 白玉县| 会昌县| 七台河市| 柳河县| 泽州县| 新晃| 任丘市| 两当县| 江川县| 博爱县| 辽中县| 华蓥市| 普兰店市| 商洛市| 湟中县| 电白县| 阿拉善盟| 长子县| 嘉峪关市| 明溪县| 锡林浩特市| 凉城县| 乐昌市| 西安市| 屏南县| 东兰县| 本溪市| 湘乡市| 宾川县| 忻州市| 宝清县| 达州市| 红原县|