版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Ajax在jQuery中的應用/jQuery實用工具函數(shù)start1.AjaxAjax是AsynchronousJavaScriptandXML的縮寫,其核心是通過XMLHttpRequest對象,以一種異步的方式,向服務器發(fā)送數(shù)據(jù)請求,并通過該對象接收請求返回的數(shù)據(jù),從而完成人機交互的數(shù)據(jù)操作。這種利用Ajax技術(shù)進行的數(shù)據(jù)交互并不局限于Web動態(tài)頁面,在普通的靜態(tài)HTML頁面中同樣可以實現(xiàn),因此,在這種背景下,Ajax技術(shù)在頁面開發(fā)中得以廣泛使用。2.loadload實現(xiàn)異步數(shù)據(jù)的功能語法:load(url,[data],[callback])例:$("#divtip").load("b.html");在load方法中,參數(shù)url還可以用于過濾頁面中的某類別的元素,如$("#divtip").load("b.html.divc");,則表示獲取頁面b.html中類別為“divc”的全部元素3.1.jquery中的全局函數(shù)-getJSON()雖然使用load()方法可以很快地加載數(shù)據(jù)到頁面中,但有時需要對獲取的數(shù)據(jù)進行處理,如果將用load()方法獲取的內(nèi)容進行遍歷,也可以進行數(shù)據(jù)的處理,但這樣獲取的內(nèi)容必須先插入頁面中,然后才能進行,因此,執(zhí)行的效率不高。為了解決這個問題,我們采用將要獲取的數(shù)據(jù)另存為一種輕量極的數(shù)據(jù)交互格式,即JSON文件格式,由于這種格式很方便計算機的讀取,因而頗受開發(fā)者的青昧.在jQuery中,專門有一個全局函數(shù)getJSON(),用于調(diào)用JSON格式的數(shù)據(jù),其調(diào)用的語法格式為:$.getJSON(url,[data],[callback])可選項[data]參數(shù)表示發(fā)送到服務器的數(shù)據(jù),其格式為key/value另外一個可選項[callback]參數(shù)表示加載成功時執(zhí)行的回調(diào)函數(shù)。下面舉例說明。3.2.jquery中的全局函數(shù)-getScript()$.getScript(url,[callback])通過此全局函數(shù)獲取js文件 $(function(){ $("#button1").click(function(){ $.getScript("xxx.js");//打開以獲取返回的數(shù)據(jù)的文件 }); })3.3.jquery中的全局函數(shù)-get()在上幾個小節(jié)中,我們通過jQuery中的各種全局函數(shù),實現(xiàn)了不同格式數(shù)據(jù)的異步加載,如HTML、JSON、JS格式數(shù)據(jù)。在日常的開發(fā)中,有時也會遇到使用XML文檔保存數(shù)據(jù)的情況,對于這種格式的數(shù)據(jù),jQuery中使用全局函數(shù)$.get()進行訪問,語法:$.get(url,[data],[callback],[type])
$.get("json.xml",function(data){ $("#p1").empty(); varhtml=""; $(data).find("user").each(function(){//遍歷獲取的數(shù)據(jù) var$strUser=$(this); html+="姓名:"+$strUser.find("name").text()+"<br>" +"性別:"+$strUser.find("sex").text()+"<br>" +"郵箱:"+$strUser.find("email").text()+"<br>"; }); $("#p1").html(html);//顯示處理后的數(shù)據(jù) });3.4.jquery中的全局函數(shù)-post()$.post也是帶參數(shù)向服務器發(fā)出數(shù)據(jù)請求。全局函數(shù)$.post與$.get()在本質(zhì)上沒有太大的區(qū)別,所不同的是,get方式不適合傳遞數(shù)據(jù)量較大的數(shù)據(jù),同時,其請求的歷史信息會保存在瀏覽器的緩存中,有一定的安全風險。而post方式向服務器發(fā)送數(shù)據(jù)請求,就不存在這兩個方面的不足。$.post(url,[data],[callback],[type])(url,[callback])通過此全局函數(shù)獲取js文件 $(function(){ $("#button1").click(function(){ $.getScript("xxx.js");//打開以獲取返回的數(shù)據(jù)的文件 }); })4.$.ajax()方法語法:$.ajax([options])可選項參數(shù)[options]為$.ajax方法中的請求設置,其格式為key/value,既包含發(fā)送請求的參數(shù),也含有服務器響應后回調(diào)的數(shù)據(jù)。其全部名稱如表4.$.ajax()方法語法:$.ajax([options])可選項參數(shù)[options]為$.ajax方法中的請求設置,其格式為key/value,既包含發(fā)送請求的參數(shù),也含有服務器響應后回調(diào)的數(shù)據(jù)。其全部名稱如表5.$.ajaxSetup()方法在使用$.ajax()方法時,有時需要調(diào)用多個$.ajax()方法,如果每個方法都設置其中的請求細節(jié),將是一件十分麻煩的事。為了簡化這種工作,在jQuery中,可以使用$.ajaxSetup()方法設置全局性的Ajax默認選項,一次設置,全局有效,這樣大大簡化了$.ajax()方法中的細節(jié)編寫,格式:$.ajaxSetup([options]);$(function(){$.ajaxSetup({ type:"GET", url:"json.xml", dataType:"xml"});});
6.ajaxStart和ajaxStop全局事件在jquery中,使用ajax獲取異步數(shù)據(jù)時,ajaxStart與ajaxStop這兩個全局事件的使用頻率非常高。前者是當請求開始執(zhí)行時觸發(fā),往往用于編寫一些準備性的功能工作,如提示“正在獲取數(shù)據(jù)...”字樣;后者是當請求結(jié)束時觸發(fā),在這一事件中,常常與前者配合,說明請求的最后進行展狀態(tài),如將顯示中的“正在獲取數(shù)據(jù)...”字樣修改為“已成功獲取數(shù)據(jù)!”,然后漸漸消失。
$("#tip").ajaxStart(function(){ $(this).show(); });7.jQuery實用工具函數(shù)數(shù)組和對象的操作字符串操作測試操作URL操作工具函數(shù)擴展8.jQuery實用工具函數(shù)-遍歷數(shù)組$.each()遍歷,語法:$.each(obj,fn(para1,para2))參數(shù)obj表示要遍歷的數(shù)組或?qū)ο螅琭n為每個遍歷元素執(zhí)行的回調(diào)函數(shù),該函數(shù)包含兩個參數(shù):para1表示數(shù)組的序號或?qū)ο蟮膶傩?;para2表示數(shù)組的元素和對象的屬性。
vararrStu={"張三":"60","李四":"70","王二":"80"}varstrC="<li>姓名:分數(shù)</li>";$.each(arrStu,function(name,value){ strC+="<li>"+name+":"+value+"</li>";});9.jQuery實用工具函數(shù)-數(shù)據(jù)篩選$.grep()篩選,語法:$.grep(array,function(elementOfArray,indexInArray),[invert])參數(shù)array為要篩選的原數(shù)組,回調(diào)函數(shù)fn中可以設置兩個參數(shù),其中elementOfArray為數(shù)組中的元素,indexInArray為元素在數(shù)組中的序列號。另外,可選項[invert]為不二之,表示是否根據(jù)fn的規(guī)則取反向結(jié)果,默認為false,表示不取反。 $(function(){ varstrtmp="篩選前數(shù)據(jù):"; vararrNum=[2,8,3,7,9,4,3,10,9,7,21];vararrGet=$.grep(arrNum,function(ele,index){ returnele>5&&index<8//元素值大于5且序號小于8});strtmp+=arrNum.join();strtmp+="<br><br>篩選后數(shù)據(jù):"+arrGet.join();$("#divTip").append(strtmp); })9.jQuery實用工具函數(shù)-數(shù)據(jù)變更$.map(),語法:$.map(array,callback(elementOfArray,indexInArray))參數(shù)array為要變更的原數(shù)組,回調(diào)函數(shù)fn中可以設置兩個參數(shù),其中elementOfArray為數(shù)組中的元素,indexInArray為元素在數(shù)組中的序列號。 通過$.map()工具函數(shù)將數(shù)組中大于5且小于8的元素都增加3,并顯示在頁面中。 $(function(){ varstrtmp="變更前數(shù)據(jù):"; vararrNum=[2,8,3,7,9,4,3,10,9,7,21];vararrGet=$.map(arrNum,function(ele,index){if(ele>5&&index<8){ returnele+3;}});strtmp+=arrNum.join();strtmp+="<br><br>變更后數(shù)據(jù):"+arrGet.join();$("#divTip").append(strtmp); })10.jQuery實用工具函數(shù)-數(shù)據(jù)搜索$.inArray(),語法:$.inArray(value,array)如果要在數(shù)組中搜索某個元素,可以使用工具函數(shù)$.inArray(),該方法相當于用javascript中的indexOf()函數(shù)搜索字符串中的某個字符。在工具函數(shù)$.inArray()中,如果找到了指定的某個元素,則返回元素在數(shù)組中的索引號,否則返回-1值。 通過$.map()工具函數(shù)將數(shù)組中大于5且小于8的元素都增加3,并顯示在頁面中。 $(function(){ varstrtmp="待搜索數(shù)據(jù):"; vararrNum=[4,21,2,12,5];vararrPos=$.inArray(2,arrNum);strtmp+=arrNum.join();strtmp+="<br><br>搜索后結(jié)果:"+arrPos;$("#divTip").append(strtmp); })11.字符串操作$.trim()工具函數(shù),刪除字符串左右兩邊的空格符12.測試操作$.isPlainObject(obj),即對象是否通過{}或newObject{}關(guān)鍵字創(chuàng)建,是則返回true,否返回false13.工具函數(shù)的擴展$.extend()工具函數(shù)編寫一個自定義工具函數(shù),返回兩個數(shù)中最小值。 (function($){ $.extend({ "MinNum":function(p1,p2){ return(p1<p2)?p1:p2; } }); })(jQuery);14.jQuery常用插件validateformcookieAutoCompleteNotesForLightBoxContextMenujQZoomNivoSliderTableSortProgressBarLoadMaskPaginationActivebar2Ni
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動仲裁調(diào)解協(xié)議書7篇
- 商業(yè)合伙人的協(xié)議書
- 傳統(tǒng)民間工藝品-捏面人簡介
- (參考模板)三通項目立項報告
- 第三次月考試卷-A4
- 重慶2020-2024年中考英語5年真題回-教師版-專題08 閱讀理解之記敘文
- 電能表安06課件講解
- 2023年抗甲狀腺藥項目融資計劃書
- 國華電力危險化學品安全管理培訓課件
- PLC控制技術(shù)試題庫(附參考答案)
- 李商隱詩歌《錦瑟》課件
- 世界文化遺產(chǎn)-樂山大佛課件
- 2022小學一年級數(shù)學活用從不同角度解決問題測試卷(一)含答案
- 博爾赫斯簡介課件
- 2021年山東交投礦業(yè)有限公司招聘筆試試題及答案解析
- 施工單位資料檢查內(nèi)容
- 大氣課設-酸洗廢氣凈化系統(tǒng)
- 學校校慶等大型活動安全應急預案
- 檢測公司檢驗檢測工作控制程序
- 高血壓病例優(yōu)秀PPT課件
- 精密電主軸PPT課件
評論
0/150
提交評論