jquery的ajax總結(jié)中....

ajax的優(yōu)勢和不足

優(yōu)勢:

? ?1.不需要插件支持(一般瀏覽器且默認(rèn)開啟JavaScript即可);

? ?2.用戶體驗極佳(不刷新頁面即可獲取可更新的數(shù)據(jù));

? 3.提升Web程序的性能(在傳遞數(shù)據(jù)方面做到按需放松,不必整體提交);

? 4.減輕服務(wù)器和帶寬的負(fù)擔(dān)(將服務(wù)器的一些操作轉(zhuǎn)移到客戶端);

缺點:

1.不同版本的瀏覽器度XMLHttpRequest對象支持度不足(比如IE5之前);

2.前進(jìn)、后退的功能被破壞(因為Ajax永遠(yuǎn)在當(dāng)前頁,不會幾率前后頁面);

3.搜索引擎的支持度不夠(因為搜索引擎爬蟲還不能理解JS引起變化數(shù)據(jù)的內(nèi)容);

4.開發(fā)調(diào)試工具缺乏(相對于其他語言的工具集來說,JS或Ajax調(diào)試開發(fā)少的可憐)闽铐。

異步和同步:

異步:好比我們發(fā)短信侧到,非阻塞

同步:好比我們打電話 阻塞

ajax都是實行的是異步加載模式

?jquery采用了三層封裝:

最底層的封裝方式:

$.ajax();

第二層:

.load(),$.get(), $.post()

最高層:

$.getscript()和$.getJSON();

.load()三個參數(shù):url-請求url地址,data(發(fā)送的key/value數(shù)據(jù))私痹,callback(成功或失斊晟);.load()方法是局部方法,因為他需要一個包含元素的jQuery對象作為前綴。適合做靜態(tài)文件的異步獲取

案例:

$("#btn").click(function(){

$("#box").load('./2.html');

}

2.$("#btn").click(function(){

$("#box").load('./1.php');

})

3.$("#btn").click(function(){

$("#box").load('./1.php',{url:'lle'});

})



4.$("#btn").click(function(){

$("#box").load('./1.php',{url:'lle'});

},function(response,status,xhr){

console.log(response);

})


注意:status得到的值,如果成功返回數(shù)據(jù)則為:success,否則為:error紊遵。XMLHttpRequest對象屬于JavaScript范疇,可以調(diào)用一些屬性如下:

屬性名

說明

responseText

作為響應(yīng)主體被返回的文本

responseXML

如果響應(yīng)主體內(nèi)容類型是"text/xml"或"application/xml",

則返回包含響應(yīng)數(shù)據(jù)的XML DOM文檔

status

響應(yīng)的HTTP狀態(tài)

statusText

HTTP狀態(tài)的說明

2.$.get()和$.post()是全局方法,無須指定某個元素账千。使用在需要傳遞參數(shù)到服務(wù)器頁面的

案例:

?$("#btn").click(function(){

$.get('./1.php',{

url:'lle'

}, function(response,status,xhr){

if(status=='success'){

$("#box").html(response);---

}

})

})

注意:第四參數(shù)type是指定異步返回的類型。一般情況下type參數(shù)是智能判斷,并不需要我們主動設(shè)置,如果主動設(shè)置,則會強(qiáng)行按照指定類型格式返回暗膜。


type自動轉(zhuǎn)為html

$.post()方法的使用和$.get()基本上匀奏,具體區(qū)別如下:

1.GET請求是通過URL提交的,而POST請求則是HTTP消息實體提交的;

2.GET提交有大小限制(2KB),而POST方式不受限制;

3.GET方式會被緩存下來,可能有安全性問題,而POST沒有這個問題;

4.GET方式通過$_GET[]獲取,POST方式通過$_POST[]獲取。

3.$.post();

$("#btn").click(function(){

$.post('./1.php',{

url:'lle'

}, function(response,status,xhr,type){

if(status=='success'){

$("#box").html(response);

console.log(type);

}

})

})


$.getScript()和$.getJSON()

jQuery提供了一組用于特定異步加載的方法:$.getScript(),用于加載特定的JS文件;

$.getJSON(),用于專門加載JSON文件

//點擊按鈕后再加載JS文件$('input').click(function () {

$.getScript('test.js');

});

$.getJSON()方法是專門用于加載JSON文件的,使用方法和之前的類似学搜。$('input').click(function () {

$.getJSON('test.json', function (response, status, xhr) {

alert(response[0].url);

});

});

4.$.ajax()

$.ajax()是所有ajax方法中最底層的方法,所有其他方法都是基于$.ajax()方法的封裝娃善。

$('form button').click(function () {

$.ajax({

type : 'POST',

url : '1.php',

data : $('form').serialize(),

success : function (response, status, xhr) { alert(response);

} });

});

小案例:自己用最近學(xué)了點php基本語法寫后臺數(shù)據(jù),挺興奮的瑞佩!畢竟自己心里知道一路自學(xué)前端以來聚磺,這次又是一個不錯的成長!加油钉凌!





5.加載請求:

在Ajax異步發(fā)送請求時,遇到網(wǎng)速較慢的情況,就會出現(xiàn)請求時間較長的問題咧最。而超過一定時間的請求,用戶就會變得不再耐煩而關(guān)閉頁面。而如果在請求期間能給用戶一些提示,比如:正在努力加載中...,那么相同的請求時間會讓用戶體驗更加的好一些。

jQuery提供了兩個全局事件,.ajaxStart()和.ajaxStop()矢沿。這兩個全局事件,只要用戶觸發(fā)

了Ajax,請求開始時(未完成其他請求)激活.ajaxStart(),請求結(jié)束時(所有請求都結(jié)束了)

激活.ajaxStop()滥搭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市捣鲸,隨后出現(xiàn)的幾起案子瑟匆,更是在濱河造成了極大的恐慌,老刑警劉巖栽惶,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愁溜,死亡現(xiàn)場離奇詭異,居然都是意外死亡外厂,警方通過查閱死者的電腦和手機(jī)冕象,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汁蝶,“玉大人渐扮,你說我怎么就攤上這事∫疵蓿” “怎么了墓律?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長幔亥。 經(jīng)常有香客問我耻讽,道長,這世上最難降的妖魔是什么帕棉? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任针肥,我火速辦了婚禮,結(jié)果婚禮上笤昨,老公的妹妹穿的比我還像新娘祖驱。我一直安慰自己,他們只是感情好瞒窒,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布捺僻。 她就那樣靜靜地躺著,像睡著了一般崇裁。 火紅的嫁衣襯著肌膚如雪匕坯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天拔稳,我揣著相機(jī)與錄音葛峻,去河邊找鬼。 笑死巴比,一個胖子當(dāng)著我的面吹牛术奖,可吹牛的內(nèi)容都是我干的礁遵。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼采记,長吁一口氣:“原來是場噩夢啊……” “哼佣耐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起唧龄,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤兼砖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后既棺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讽挟,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年丸冕,在試婚紗的時候發(fā)現(xiàn)自己被綠了耽梅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡晨仑,死狀恐怖褐墅,靈堂內(nèi)的尸體忽然破棺而出拆檬,到底是詐尸還是另有隱情洪己,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布竟贯,位于F島的核電站答捕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏屑那。R本人自食惡果不足惜拱镐,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望持际。 院中可真熱鬧沃琅,春花似錦、人聲如沸蜘欲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽姥份。三九已至郭脂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澈歉,已是汗流浹背展鸡。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留埃难,地道東北人莹弊。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓涤久,卻偏偏與公主長得像,于是被迫代替她去往敵國和親忍弛。 傳聞我的和親對象是個殘疾皇子拴竹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

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

  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,186評論 0 7
  • 每日箴言: 每個人都有選擇的權(quán)利,你不選擇我剧罩,說明你選擇了比我更重要的東西栓拜。[http://requirejs.o...
    全棧弄潮兒閱讀 2,926評論 2 85
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)惠昔,斷路器幕与,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性镇防。 1....
    LaBaby_閱讀 1,330評論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式啦鸣。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,167評論 0 1