2017-09-27

1.什么是Ajax

AJAX(Asynchronous JavaScript And XML)翻譯成中文就是“異步Javascript和XML”祟同。即使用Javascript語言與服務器進行異步交互,傳輸?shù)臄?shù)據(jù)為XML(當然垄开,傳輸?shù)臄?shù)據(jù)不只是XML)。

AJAX還有一個最大的特點就是忧吟,當服務器響應時件蚕,不用刷新整個瀏覽器頁面盟迟,而是可以局部刷新裆装。這一特點給用戶的感受是在不知不覺中完成請求和響應過程踱承。

與服務器異步交互;

瀏覽器頁面局部刷新哨免;

2.同步交互與異步交互

同步交互:客戶端發(fā)出一個請求后茎活,需要等待服務器響應結束后,才能發(fā)出第二個請求琢唾;

異步交互:客戶端發(fā)出一個請求后载荔,無需等待服務器響應結束,就可以發(fā)出第二個請求采桃。

3.AJAX常見應用情景

當我們在百度中輸入一個“傳”字后懒熙,會馬上出現(xiàn)一個下拉列表!列表中顯示的是包含“傳”字的10個關鍵字芍碧。

其實這里就使用了AJAX技術煌珊!當文件框發(fā)生了輸入變化時号俐,瀏覽器會使用AJAX技術向服務器發(fā)送一個請求泌豆,查詢包含“傳”字的前10個關鍵字,然后服務器會把查詢到的結果響應給瀏覽器吏饿,最后瀏覽器把這10個關鍵字顯示在下拉列表中踪危。

整個過程中頁面沒有刷新,只是刷新頁面中的局部位置而已猪落!

當請求發(fā)出后贞远,瀏覽器還可以進行其他操作,無需等待服務器的響應笨忌!

當輸入用戶名后蓝仲,把光標移動到其他表單項上時,瀏覽器會使用AJAX技術向服務器發(fā)出請求,服務器會查詢名為zhangSan的用戶是否存在袱结,最終服務器返回true表示名為zhangSan的用戶已經(jīng)存在了亮隙,瀏覽器在得到結果后顯示“用戶名已被注冊1。

整個過程中頁面沒有刷新垢夹,只是局部刷新了溢吻;

在請求發(fā)出后,瀏覽器不用等待服務器響應結果就可以進行其他操作果元;

4.AJAX的優(yōu)缺點

優(yōu)點:

AJAX使用Javascript技術向服務器發(fā)送異步請求促王;

AJAX無須刷新整個頁面;

因為服務器響應內容不再是整個頁面而晒,而是頁面中的局部蝇狼,所以AJAX性能高;

缺點:

AJAX并不適合所有場景倡怎,很多時候還是要使用同步交互题翰;

AJAX雖然提高了用戶體驗,但無形中向服務器發(fā)送的請求次數(shù)增多了诈胜,導致服務器壓力增大豹障;

因為AJAX是在瀏覽器中使用Javascript技術完成的,所以還需要處理瀏覽器兼容性問題焦匈;

Ajax的基本工作原理及流程:

在一般的 Web 應用程序中血公,用戶填寫表單字段并單擊 Submit 按鈕。然后整個表單發(fā)送到服務器缓熟,服務器將它轉發(fā)給處理表單的腳本(通常是 PHP 或 Java累魔,也可能是 CGI 進程或者類似的東西),腳本執(zhí)行完成后再發(fā)送回全新的頁面够滑。該頁面可能是帶有已經(jīng)填充某些數(shù)據(jù)的新表單的 HTML垦写,也可能是確認頁面,或者是具有根據(jù)原來表單中輸入數(shù)據(jù)選擇的某些選項的頁面彰触。當然梯投,在服務器上的腳本或程序處理和返回新表單時用戶必須等待。屏幕變成一片空白况毅,等到服務器返回數(shù)據(jù)后再重新繪制分蓖。這就是交互性差的原因,用戶得不到立即反饋尔许,因此感覺不同于桌面應用程序么鹤。

Ajax 基本上就是把 JavaScript 技術和 XMLHttpRequest 對象放在 Web 表單和服務器之間。當用戶填寫表單時味廊,數(shù)據(jù)發(fā)送給一些 JavaScript 代碼而不是 直接發(fā)送給服務器蒸甜。相反棠耕,JavaScript 代碼捕獲表單數(shù)據(jù)并向服務器發(fā)送請求。同時用戶屏幕上的表單也不會閃爍柠新、消失或延遲昧辽。換句話說,JavaScript 代碼在幕后發(fā)送請求登颓,用戶甚至不知道請求的發(fā)出搅荞。更好的是,請求是異步發(fā)送的框咙,就是說 JavaScript 代碼(和用戶)不用等待服務器的響應咕痛。因此用戶可以繼續(xù)輸入數(shù)據(jù)、滾動屏幕和使用應用程序喇嘱。

然后茉贡,服務器將數(shù)據(jù)返回 JavaScript 代碼(仍然在 Web 表單中),后者決定如何處理這些數(shù)據(jù)者铜。它可以迅速更新表單數(shù)據(jù)腔丧,讓人感覺應用程序是立即完成的,表單沒有提交或刷新而用戶得到了新數(shù)據(jù)作烟。JavaScript 代碼甚至可以對收到的數(shù)據(jù)執(zhí)行某種計算愉粤,再發(fā)送另一個請求,完全不需要用戶干預拿撩!這就是 XMLHttpRequest 的強大之處衣厘。它可以根據(jù)需要自行與服務器進行交互,用戶甚至可以完全不知道幕后發(fā)生的一切压恒。結果就是類似于桌面應用程序的動態(tài)影暴、快速響應、高交互性的體驗探赫,但是背后又擁有互聯(lián)網(wǎng)的全部強大力量型宙。

以上所述是小編給大家介紹的Ajax入門學習教程,希望對大家有所幫助

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末伦吠,一起剝皮案震驚了整個濱河市妆兑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讨勤,老刑警劉巖箭跳,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晨另,死亡現(xiàn)場離奇詭異潭千,居然都是意外死亡,警方通過查閱死者的電腦和手機借尿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門刨晴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屉来,“玉大人,你說我怎么就攤上這事狈癞∏芽浚” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵蝶桶,是天一觀的道長慨绳。 經(jīng)常有香客問我,道長真竖,這世上最難降的妖魔是什么脐雪? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮恢共,結果婚禮上战秋,老公的妹妹穿的比我還像新娘。我一直安慰自己讨韭,他們只是感情好脂信,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著透硝,像睡著了一般狰闪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上濒生,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天尝哆,我揣著相機與錄音,去河邊找鬼甜攀。 笑死秋泄,一個胖子當著我的面吹牛,可吹牛的內容都是我干的规阀。 我是一名探鬼主播恒序,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谁撼!你這毒婦竟也來了歧胁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤厉碟,失蹤者是張志新(化名)和其女友劉穎喊巍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箍鼓,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡崭参,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了款咖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片何暮。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡奄喂,死狀恐怖,靈堂內的尸體忽然破棺而出海洼,到底是詐尸還是另有隱情跨新,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布坏逢,位于F島的核電站域帐,受9級特大地震影響,放射性物質發(fā)生泄漏是整。R本人自食惡果不足惜俯树,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贰盗。 院中可真熱鬧许饿,春花似錦、人聲如沸舵盈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秽晚。三九已至瓦糟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赴蝇,已是汗流浹背菩浙。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留句伶,地道東北人劲蜻。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像考余,于是被迫代替她去往敵國和親先嬉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案楚堤? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,748評論 1 92
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理疫蔓,服務發(fā)現(xiàn),斷路器身冬,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 5 分享內容到你的網(wǎng)站 上一章中衅胀,你在網(wǎng)站中構建了用戶注冊和認證。你學會了如何為用戶創(chuàng)建自定義的個人資料模型酥筝,并添...
    lakerszhy閱讀 1,661評論 5 16
  • 我們之間的不同 我在鬧滚躯,我在擔心。沒有想過不走,只想重新來過哀九。 他擔心的是我會說各自走剿配。 我想改變他搅幅,而不是自己阅束。...
    行一館閱讀 337評論 0 0