麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

jQuery內(nèi)置的AJAX功能和JSON的使用實例

2019-11-20 14:19:24
字體:
供稿:網(wǎng)友

通過jQuery內(nèi)置的AJAX功能,直接訪問后臺獲得JSON格式的數(shù)據(jù),然后通過jQuer把數(shù)據(jù)綁定到事先設(shè)計好的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屬性,這個是一個關(guān)鍵。再來看一下AJAX請求和綁定數(shù)據(jù)的代碼

$.ajax({type: "get",//使用get方法訪問后臺dataType: "json",//返回json格式的數(shù)據(jù)url: "BackHandler.ashx",//要訪問的后臺地址data: "pageIndex=" + pageIndex,//要發(fā)送的數(shù)據(jù)complete :function(){$("#load").hide();},//AJAX請求完成時隱藏loading提示success: function(msg){//msg為返回的數(shù)據(jù),在這里做數(shù)據(jù)綁定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+"> More</a>"); row.attr("id","ready");//改變綁定好數(shù)據(jù)的行的idrow.appendTo("#datas");//添加到模板的容器中});

這個是jQuery的AJAX方法,返回數(shù)據(jù)并不復(fù)雜,主要說明一下怎么把數(shù)據(jù)按模板的定義顯示到到頁面上。首先是這個“var row = $("#template").clone();”先把模板復(fù)制一份,接下來row.find("#OrderID").text(n.訂單ID);,表示找到id=OrderID的標(biāo)記,設(shè)置它的innerText為相應(yīng)的數(shù)據(jù),當(dāng)然也可以設(shè)置為html格式的數(shù)據(jù)。或者是通過外部的函數(shù)把數(shù)據(jù)轉(zhuǎn)換成需要的格式,比如這里row.find("#OrderDate").text(ChangeDate(n.訂購日期));有點服務(wù)器控件做模板綁定數(shù)據(jù)的感覺。
所有的這些,都是放在一個靜態(tài)的頁面里,只通過AJAX方法從后臺獲取數(shù)據(jù),所有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> <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=" >> " /> <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請求和綁定數(shù)據(jù)代碼的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屬性。大家看到這里應(yīng)該明白了,不管用什么樣的表現(xiàn)形式,只要id屬性相同,就可以把數(shù)據(jù)綁定到對應(yīng)的位置。這樣的話,我們這些做程序的就不 會因為美工的修改而修改代碼了,而且美工也只要做出html就可以了,不需要為服務(wù)器控件做模板(不過我還沒遇到過這樣的美工,都是美工設(shè)計好了我來改成 服務(wù)器控件的模板)。

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 蜜桃视频在线免费播放 | 久久亚洲成人 | 久久成年网站 | 欧美一级美国一级 | 亚洲国产在| 九九热久久免费视频 | 久久精品亚洲一区二区三区观看模式 | 一级做a爱视频 | 激情毛片| 久久精品久 | 啪啪激情| 羞羞视频免费网站男男 | 久久人人爽人人爽人人片av高清 | 日本不卡视频在线观看 | 亚洲免费高清 | 青草伊人网| 欧美a∨一区二区三区久久黄 | 亚洲九九爱 | 久久久久国产精品久久久久 | 日韩精品免费一区二区三区 | 中文字幕综合 | 亚洲少妇诱惑 | 成人国产综合 | 极色品影院 | 天天夜干 | 国产99视频在线观看 | 免费一级片观看 | 久草成人在线观看 | 日韩视频在线一区二区三区 | 激情视频免费看 | 欧美精品一区二区久久 | 哪里可以看免费的av | 久久国产免费视频 | 精品亚洲二区 | 久久性生活免费视频 | 欧美在线观看视频一区 | 久久国产免费视频 | 久久国产精品小视频 | 九九热在线视频观看这里只有精品 | 特级黄色一级毛片 | 日韩美女电影 |