一寝殴、 使用load()方法異步請(qǐng)求數(shù)據(jù)
使用load()方法通過(guò)Ajax請(qǐng)求加載服務(wù)器中的數(shù)據(jù)山上,并把返回的數(shù)據(jù)放置到指定的元素中昔案,它的調(diào)用格式為:
load(url,[data],[callback])
參數(shù)url為加載服務(wù)器地址瓤荔,可選項(xiàng)data參數(shù)為請(qǐng)求時(shí)發(fā)送的數(shù)據(jù)婴洼,callback參數(shù)為數(shù)據(jù)請(qǐng)求成功后兜看,執(zhí)行的回調(diào)函數(shù)锥咸。
例如,點(diǎn)擊“加載”按鈕時(shí)细移,向服務(wù)器請(qǐng)求加載一個(gè)指定頁(yè)面的內(nèi)容搏予,加載成功后,將數(shù)據(jù)內(nèi)容顯示在
在瀏覽器中顯示的效果:
從圖中可以看出碗殷,當(dāng)點(diǎn)擊“加載”按鈕時(shí),通過(guò)調(diào)用load()方法向服務(wù)器請(qǐng)求加載fruit.html文件中的內(nèi)容速缨,當(dāng)加載成功后锌妻,先顯示數(shù)據(jù),并將按鈕變?yōu)椴豢捎谩?/p>
二旬牲、使用getJSON()方法異步加載JSON格式數(shù)據(jù)
使用getJSON()方法可以通過(guò)Ajax異步請(qǐng)求的方式仿粹,獲取服務(wù)器中的數(shù)據(jù),并對(duì)獲取的數(shù)據(jù)進(jìn)行解析原茅,顯示在頁(yè)面中吭历,它的調(diào)用格式為:
jQuery.getJSON(url,[data],[callback])或$.getJSON(url,[data],[callback])
其中,url參數(shù)為請(qǐng)求加載json格式文件的服務(wù)器地址擂橘,可選項(xiàng)data參數(shù)為請(qǐng)求時(shí)發(fā)送的數(shù)據(jù)晌区,callback參數(shù)為數(shù)據(jù)請(qǐng)求成功后,執(zhí)行的回調(diào)函數(shù)通贞。
例如契讲,點(diǎn)擊頁(yè)面中的“加載”按鈕,調(diào)用getJSON()方法獲取服務(wù)器中JSON格式文件中的數(shù)據(jù)滑频,并遍歷數(shù)據(jù)捡偏,將指定的字段名內(nèi)容顯示在頁(yè)面中。如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出峡迷,當(dāng)點(diǎn)擊“加載”按鈕時(shí)银伟,通過(guò)getJSON()方法調(diào)用服務(wù)器中的sport.json文件,獲取返回的data文件數(shù)據(jù)绘搞,并遍歷該數(shù)據(jù)對(duì)象彤避,以data[“name”]取出數(shù)據(jù)中指定的內(nèi)容,顯示在頁(yè)面中夯辖。
三琉预、使用getScript()方法異步加載并執(zhí)行js文件
使用getScript()方法異步請(qǐng)求并執(zhí)行服務(wù)器中的JavaScript格式的文件,它的調(diào)用格式如下所示:
jQuery.getScript(url,[callback])或$.getScript(url,[callback])
參數(shù)url為服務(wù)器請(qǐng)求地址蒿褂,可選項(xiàng)callback參數(shù)為請(qǐng)求成功后執(zhí)行的回調(diào)函數(shù)圆米。
例如,點(diǎn)擊“加載”按鈕啄栓,調(diào)用getScript()加載并執(zhí)行服務(wù)器中指定名稱的JavaScript格式的文件娄帖,并在頁(yè)面中顯示加載后的數(shù)據(jù)內(nèi)容,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出昙楚,當(dāng)點(diǎn)擊“加載”按鈕調(diào)用getScript()方法加載服務(wù)器中的JavaScript格式文件后近速,自動(dòng)執(zhí)行文件代碼,將數(shù)據(jù)內(nèi)容顯示在
元素中。
四削葱、使用get()方法以GET方式從服務(wù)器獲取數(shù)據(jù)
使用get()方法時(shí)奖亚,采用GET方式向服務(wù)器請(qǐng)求數(shù)據(jù),并通過(guò)方法中回調(diào)函數(shù)的參數(shù)返回請(qǐng)求的數(shù)據(jù)析砸,它的調(diào)用格式如下:
$.get(url,[callback])
參數(shù)url為服務(wù)器請(qǐng)求地址遂蛀,可選項(xiàng)callback參數(shù)為請(qǐng)求成功后執(zhí)行的回調(diào)函數(shù)。
例如干厚,當(dāng)點(diǎn)擊“加載”按鈕時(shí),調(diào)用get()方法向服務(wù)器中的一個(gè).php文件以GET方式請(qǐng)求數(shù)據(jù)螃宙,并將返回的數(shù)據(jù)內(nèi)容顯示在頁(yè)面中蛮瞄,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,通過(guò)$.get()方法向服務(wù)器成功請(qǐng)求數(shù)據(jù)后谆扎,在回調(diào)函數(shù)中通過(guò)data參數(shù)傳回請(qǐng)求的數(shù)據(jù)挂捅,并以data.name格式訪問(wèn)數(shù)據(jù)中各項(xiàng)的內(nèi)容。
五堂湖、使用post()方法以POST方式從服務(wù)器發(fā)送和獲取數(shù)
與get()方法相比闲先,post()方法多用于以POST方式向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器接收到數(shù)據(jù)之后无蜂,進(jìn)行處理伺糠,并將處理結(jié)果返回頁(yè)面,調(diào)用格式如下:
$.post(url,[data],[callback])
參數(shù)url為服務(wù)器請(qǐng)求地址斥季,可選項(xiàng)data為向服務(wù)器請(qǐng)求時(shí)發(fā)送的數(shù)據(jù)训桶,可選項(xiàng)callback參數(shù)為請(qǐng)求成功后執(zhí)行的回調(diào)函數(shù)。
例如酣倾,在輸入框中錄入一個(gè)數(shù)字舵揭,點(diǎn)擊“檢測(cè)”按鈕,調(diào)用post()方法向服務(wù)器以POST方式發(fā)送請(qǐng)求躁锡,檢測(cè)輸入值的奇偶性午绳,并顯示在頁(yè)面中,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出映之,當(dāng)點(diǎn)擊“檢測(cè)”按鈕時(shí)拦焚,獲取輸入框中的值,并將該值使用$.post()方法一起發(fā)送給服務(wù)器杠输,服務(wù)器接收該值后并進(jìn)行處理耕漱,最后返回處理結(jié)果。
六抬伺、使用serialize()方法序列化表單元素值
使用serialize()方法可以將表單中有name屬性的元素值進(jìn)行序列化螟够,生成標(biāo)準(zhǔn)URL編碼文本字符串,直接可用于ajax請(qǐng)求,它的調(diào)用格式如下:
$(selector).serialize()
其中selector參數(shù)是一個(gè)或多個(gè)表單中的元素或表單元素本身妓笙。
例如若河,在表單中添加多個(gè)元素,點(diǎn)擊“序列化”按鈕后寞宫,調(diào)用serialize()方法萧福,將表單元素序列化后的標(biāo)準(zhǔn)URL編碼文本字符串顯示在頁(yè)面中,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出辈赋,當(dāng)點(diǎn)擊“序列化”按鈕后鲫忍,調(diào)用表單元素本身的serialize()方法,將表單中元素全部序列化钥屈,生成標(biāo)準(zhǔn)URL編碼悟民,各元素間通過(guò)&號(hào)相聯(lián)。
七篷就、使用ajax()方法加載服務(wù)器數(shù)據(jù)
使用ajax()方法是最底層射亏、功能最強(qiáng)大的請(qǐng)求服務(wù)器數(shù)據(jù)的方法,它不僅可以獲取服務(wù)器返回的數(shù)據(jù)竭业,還能向服務(wù)器發(fā)送請(qǐng)求并傳遞數(shù)值智润,它的調(diào)用格式如下:
jQuery.ajax([settings])或$.ajax([settings])
其中參數(shù)settings為發(fā)送ajax請(qǐng)求時(shí)的配置對(duì)象,在該對(duì)象中未辆,url表示服務(wù)器請(qǐng)求的路徑窟绷,data為請(qǐng)求時(shí)傳遞的數(shù)據(jù),dataType為服務(wù)器返回的數(shù)據(jù)類型咐柜,success為請(qǐng)求成功的執(zhí)行的回調(diào)函數(shù)钾麸,type為發(fā)送數(shù)據(jù)請(qǐng)求的方式,默認(rèn)為get炕桨。
例如饭尝,點(diǎn)擊頁(yè)面中的“加載”按鈕,調(diào)用ajax()方法向服務(wù)器請(qǐng)求加載一個(gè)txt文件献宫,并將返回的文件中的內(nèi)容顯示在頁(yè)面钥平,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,當(dāng)點(diǎn)擊“加載”按鈕時(shí)姊途,調(diào)用$.ajax()方法請(qǐng)求服務(wù)器中txt文件涉瘾,當(dāng)請(qǐng)求成功時(shí)調(diào)用success回調(diào)函數(shù),獲取傳回的數(shù)據(jù)捷兰,并顯示在頁(yè)面中立叛。
八、使用ajaxSetup()方法設(shè)置全局ajax請(qǐng)求默認(rèn)選項(xiàng)
使用ajaxSetup()方法可以設(shè)置Ajax請(qǐng)求的一些全局性選項(xiàng)值贡茅,設(shè)置完成后秘蛇,后面的Ajax請(qǐng)求將不需要再添加這些選項(xiàng)值其做,它的調(diào)用格式為:
jQuery.ajaxSetup([options])或$.ajaxSetup([options])
可選項(xiàng)options參數(shù)為一個(gè)對(duì)象,通過(guò)該對(duì)象設(shè)置Ajax請(qǐng)求時(shí)的全局選項(xiàng)值赁还。
例如妖泄,先調(diào)用ajaxSetup()方法設(shè)置全局的Ajax選項(xiàng)值,再點(diǎn)擊兩個(gè)按鈕艘策,分別使用ajax()方法請(qǐng)求不同的服務(wù)器數(shù)據(jù)蹈胡,并將數(shù)據(jù)內(nèi)容顯示在頁(yè)面,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出朋蔫,使用ajaxSetup()方法設(shè)置了Ajax請(qǐng)求時(shí)的一些全局性的配置選項(xiàng)后罚渐,在兩次調(diào)用ajax請(qǐng)求服務(wù)器txt文件時(shí),只需要設(shè)置url地址即可驯妄。
九荷并、使用ajaxStart()和ajaxStop()方法
ajaxStart()和ajaxStop()方法是綁定Ajax事件。ajaxStart()方法用于在Ajax請(qǐng)求發(fā)出前觸發(fā)函數(shù)富玷,ajaxStop()方法用于在Ajax請(qǐng)求完成后觸發(fā)函數(shù)。它們的調(diào)用格式為:
$(selector).ajaxStart(function())和$(selector).ajaxStop(function())
其中既穆,兩個(gè)方法中括號(hào)都是綁定的函數(shù)赎懦,當(dāng)發(fā)送Ajax請(qǐng)求前執(zhí)行ajaxStart()方法綁定的函數(shù),請(qǐng)求成功后幻工,執(zhí)行ajaxStop ()方法綁定的函數(shù)励两。
例如,在調(diào)用ajax()方法請(qǐng)求服務(wù)器數(shù)據(jù)前囊颅,使用動(dòng)畫顯示正在加載中当悔,當(dāng)請(qǐng)求成功后,該動(dòng)畫自動(dòng)隱藏踢代,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出盲憎,由于使用ajaxStart()和ajaxStop()方法綁定了動(dòng)畫元素,因此胳挎,在開(kāi)始發(fā)送Ajax請(qǐng)求時(shí)饼疙,元素顯示,請(qǐng)求完成時(shí)慕爬,動(dòng)畫元素自動(dòng)隱藏窑眯。
注意:該方法在1.8.2下使用是正常的