程序員技術(shù)文一淺析應(yīng)用中的“阿賈克斯”Ajax无牵,不懂就別去面試?yán)?/h1>

小猿在日常的工作中啊,經(jīng)常會使用到Ajax動態(tài)網(wǎng)絡(luò)請求技術(shù)清焕。沒錯,阿賈克斯足球隊同音祭犯,但是Ajax真正是什么呢秸妥?想必大伙對這個問題都處于懵懵懂懂的狀態(tài)。小猿打算做個專題沃粗,淺析一下Ajax的意義和用法粥惧,目的是讓讀者一目了然,用的自然最盅。其實Ajax并不是JavaScript的應(yīng)用規(guī)范突雪,全稱是“Asynchronous Javascript And XML”(異步 的JavaScript 和 XML),它是用JavaScript執(zhí)行的異步請求涡贱。

阿賈克斯足球隊

ajax

如果仔細(xì)觀察一個form表單咏删,你會發(fā)現(xiàn),只要提交這個表單问词,瀏覽器就會頁面刷新督函,然后會再新開的頁面或者返回一個你想要的值,或者返回success或error,或者返回一個提示404找不到的頁面辰狡。這就是web的特性:一次請求锋叨,對應(yīng)一個頁面。

如果你提交請求后宛篇,不進行頁面刷新娃磺,請使用Ajax;

如果你提交請求后叫倍,想要在頁面中顯示結(jié)果偷卧,請使用Ajax;

如果你想上傳文件后段标,再上傳多個涯冠,不影響頁面的話炉奴,請使用Ajax逼庞;

如果你想要級聯(lián),校驗瞻赶,翻頁等功能赛糟,請使用Ajax;

Ajax 的工作原理是讓用戶留在當(dāng)前頁面中砸逊,同時發(fā)出新的HTTP請求璧南,就必須用JavaScript發(fā)送這個新請求,接收到數(shù)據(jù)后师逸,再用JavaScript更新頁面司倚,這樣一來,用戶就感覺自己仍然停留在當(dāng)前頁面篓像,但是數(shù)據(jù)卻是在不斷地更新动知。其核心對象是XMLHTTPRequest。它可以在不向服務(wù)器提交整個頁面的情況下员辩,實現(xiàn)局部更新網(wǎng)頁盒粮。當(dāng)頁面全部加載完畢后,客戶端通過該對象向服務(wù)器請求數(shù)據(jù)奠滑,服務(wù)器端接受數(shù)據(jù)并處理后丹皱,向客戶端反饋數(shù)據(jù)。

分享之后我還是要推薦下我自己的前端學(xué)習(xí)群:657137906宋税,不管你是小白還是大牛摊崭,小編我都挺歡迎,不定期分享干貨杰赛,包括我自己整理的一份2017最新的前端資料和零基礎(chǔ)入門教程爽室,送給大家,歡迎初學(xué)和進階中的小伙伴。

說了這么多阔墩,下面來講講常見用法嘿架,介紹一段簡單的Ajax實例。

$.ajax({

type: "post",

url: "",

data: { },

dataType: "text",

success: function(data){ },

error: function(e){ }

});

1.type:要求為String類型的參數(shù)啸箫,請求方式(post或get)默認(rèn)為get耸彪。注意其他http請求方法,例如put和delete也可以使用忘苛,但僅部分瀏覽器支持蝉娜。

2.url : 要求為String類型的參數(shù),(默認(rèn)為當(dāng)前頁地址)發(fā)送請求的地址扎唾。

3.data:?要求為Object或String類型的參數(shù)召川,發(fā)送到服務(wù)器的數(shù)據(jù)。如果已經(jīng)不是字符串胸遇,將自動轉(zhuǎn)換為字符串格式荧呐。get請求中將附加在url后。防止這種自動轉(zhuǎn)換纸镊,可以查看processData選項倍阐。

4.processData:要求為Boolean類型的參數(shù),默認(rèn)為true逗威。默認(rèn)情況下峰搪,發(fā)送的數(shù)據(jù)將被轉(zhuǎn)換為對象(從技術(shù)角度來講并非字符串)以配合默認(rèn)內(nèi)容類型"application/x-www-form-urlencoded"。如果要發(fā)送DOM樹信息或者其他不希望轉(zhuǎn)換的信息凯旭,請設(shè)置為false概耻。

5.datatype:要求為String類型的參數(shù),預(yù)期服務(wù)器返回的數(shù)據(jù)類型罐呼。如果不指定鞠柄,JQuery將自動根據(jù)http包mime信息返回responseXML或responseText,并作為回調(diào)函數(shù)參數(shù)傳遞弄贿〈悍妫可用的類型如下:xml:返回XML文檔,可用JQuery處理差凹。html:返回純文本HTML信息期奔;包含的script標(biāo)簽會在插入DOM時執(zhí)行。script:返回純文本JavaScript代碼危尿。不會自動緩存結(jié)果呐萌。除非設(shè)置了cache參數(shù)。注意在遠程請求時(不在同一個域下)谊娇,所有post請求都將轉(zhuǎn)為get請求肺孤。json:返回JSON數(shù)據(jù)。jsonp:JSONP格式。使用SONP形式調(diào)用函數(shù)時赠堵,例如myurl?callback=?小渊,JQuery將自動替換后一個“?”為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)茫叭。text:返回純文本字符串酬屉。

6. success: 要求為Function類型的參數(shù),請求成功后調(diào)用的回調(diào)函數(shù)揍愁,有兩個參數(shù)呐萨。

(1)由服務(wù)器返回,并根據(jù)dataType參數(shù)進行處理后的數(shù)據(jù)莽囤。

(2)描述狀態(tài)的字符串谬擦。

7. error:要求為Function類型的參數(shù),請求失敗時被調(diào)用的函數(shù)朽缎。該函數(shù)有3個參數(shù)惨远,即XMLHttpRequest對象、錯誤信息饵沧、捕獲的錯誤對象(可選)锨络。

8. timeout:要求為Number類型的參數(shù)赌躺,設(shè)置請求超時時間(毫秒)狼牺。此設(shè)置將覆蓋$.ajaxSetup()方法的全局設(shè)置。

9.cache:要求為Boolean類型的參數(shù)礼患,默認(rèn)為true(當(dāng)dataType為script時是钥,默認(rèn)為false),設(shè)置為false將不會從瀏覽器緩存中加載請求信息缅叠。

10.async:要求為Boolean類型的參數(shù)悄泥,默認(rèn)設(shè)置為true,所有請求均為異步請求肤粱。如果需要發(fā)送同步請求弹囚,請將此選項設(shè)置為false。注意领曼,同步請求將鎖住瀏覽器鸥鹉,用戶其他操作必須等待請求完成才可以執(zhí)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末庶骄,一起剝皮案震驚了整個濱河市毁渗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌单刁,老刑警劉巖灸异,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡肺樟,警方通過查閱死者的電腦和手機檐春,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來么伯,“玉大人喇聊,你說我怎么就攤上這事”目瘢” “怎么了誓篱?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長凯楔。 經(jīng)常有香客問我窜骄,道長,這世上最難降的妖魔是什么摆屯? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任邻遏,我火速辦了婚禮,結(jié)果婚禮上虐骑,老公的妹妹穿的比我還像新娘准验。我一直安慰自己,他們只是感情好廷没,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布糊饱。 她就那樣靜靜地躺著,像睡著了一般颠黎。 火紅的嫁衣襯著肌膚如雪另锋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天狭归,我揣著相機與錄音夭坪,去河邊找鬼。 笑死过椎,一個胖子當(dāng)著我的面吹牛室梅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疚宇,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼亡鼠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了灰嫉?” 一聲冷哼從身側(cè)響起拆宛,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讼撒,沒想到半個月后浑厚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體股耽,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡麻蹋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年贪染,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚜迅。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡敢艰,死狀恐怖诬乞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钠导,我是刑警寧澤震嫉,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站牡属,受9級特大地震影響票堵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逮栅,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一悴势、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧措伐,春花似錦特纤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至官硝,卻和暖如春矗蕊,著一層夾襖步出監(jiān)牢的瞬間短蜕,已是汗流浹背氢架。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留朋魔,地道東北人岖研。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像警检,于是被迫代替她去往敵國和親孙援。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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

  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,195評論 0 7
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理扇雕,服務(wù)發(fā)現(xiàn)拓售,斷路器,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 現(xiàn)在剛好處在這個尷尬的年齡 心里會開始在關(guān)心爸媽 卻不愿說出口 想多陪陪爸媽 卻又無法控制自己經(jīng)常去按手機玩電腦和...
    北七海閱讀 209評論 0 1
  • 有句話很流行崭放,“做時間的朋友,用時間積累財富”鸽凶。不過币砂,這個朋友不好耍。 我們與時間——處理不好彼此關(guān)系玻侥,友盡一條路...
    最愛水瓶座閱讀 205評論 0 0
  • “什么凑兰!” 南云國主掌桩、夏皇、樊祖姑食、蒼帝拘鞋、無限城主、界獸王矢门、滅世神帝盆色、月華國主、永夜始祖等一個個祟剔,整個界心大陸上觀看...
    im喵小姐閱讀 467評論 0 0