Jquery基礎(chǔ) - ajax應(yīng)用

一寝殴、 使用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)容顯示在

元素中弧轧,并將加載按鈕變?yōu)椴豢捎醚┙摹H缦聢D所示:

在瀏覽器中顯示的效果:

從圖中可以看出碗殷,當(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下使用是正常的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市医窿,隨后出現(xiàn)的幾起案子磅甩,更是在濱河造成了極大的恐慌,老刑警劉巖姥卢,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卷要,死亡現(xiàn)場(chǎng)離奇詭異渣聚,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)却妨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門饵逐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人彪标,你說(shuō)我怎么就攤上這事倍权⌒耄” “怎么了鞠抑?”我有些...
    開(kāi)封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵冷溃,是天一觀的道長(zhǎng)壁熄。 經(jīng)常有香客問(wèn)我腔丧,道長(zhǎng)闻坚,這世上最難降的妖魔是什么货岭? 我笑而不...
    開(kāi)封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任鲜漩,我火速辦了婚禮苍息,結(jié)果婚禮上缩幸,老公的妹妹穿的比我還像新娘。我一直安慰自己竞思,他們只是感情好表谊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著盖喷,像睡著了一般爆办。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上课梳,一...
    開(kāi)封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天距辆,我揣著相機(jī)與錄音,去河邊找鬼暮刃。 笑死跨算,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的椭懊。 我是一名探鬼主播漂彤,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灾搏!你這毒婦竟也來(lái)了挫望?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤狂窑,失蹤者是張志新(化名)和其女友劉穎媳板,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泉哈,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛉幸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年破讨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奕纫。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡提陶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出匹层,到底是詐尸還是另有隱情隙笆,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布升筏,位于F島的核電站撑柔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏您访。R本人自食惡果不足惜铅忿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灵汪。 院中可真熱鬧檀训,春花似錦、人聲如沸享言。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)担锤。三九已至蔚晨,卻和暖如春乍钻,著一層夾襖步出監(jiān)牢的瞬間肛循,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工银择, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留多糠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓浩考,卻偏偏與公主長(zhǎng)得像夹孔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子析孽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 第1章 jQuery實(shí)現(xiàn)Ajax應(yīng)用 1-1 使用load()方法異步請(qǐng)求數(shù)據(jù) 使用load()方法通過(guò)Ajax請(qǐng)...
    mo默22閱讀 1,695評(píng)論 1 9
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理搭伤,服務(wù)發(fā)現(xiàn),斷路器袜瞬,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對(duì)象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,186評(píng)論 0 7
  • 使用 load() 方法異步請(qǐng)求數(shù)據(jù) 使用load()方法通過(guò) Ajax 請(qǐng)求加載服務(wù)器中的數(shù)據(jù)怜俐,并把返回的數(shù)據(jù)放...
    孤傭閱讀 661評(píng)論 0 3
  • 很是不在狀態(tài),真的是那句話邓尤,現(xiàn)實(shí)的行動(dòng)配不上你的野心拍鲤,想做到的事兒沒(méi)完成贴谎。有些事兒真的是你無(wú)法左右的,那就把自己的...
    HuWentong閱讀 250評(píng)論 0 0