精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

30分鐘全面解析-圖解AJAX原理

開發 開發工具
為什么需要AJAX當需要從服務器獲取數據,并刷新頁面的操作,如果不采用AJAX,則需要用提交整個表單的方式,當提交表單時,發送請求給服務器,頁面需要等待服務器發送完response后,頁面才能恢復操作。
  •  閱讀目錄
  • 先上原理圖:
  • 背景:
  • 問題:
  • 一、什么是 AJAX
  • 二、提交Form表單的原理
  • 三、AJAX提交請求和服務響應的原理
  • 四、XMLHttpRequest 對象的知識
  • 五、JQuery實現AJAX
  • 六、優勢
  • 七、缺點
  • 八、應用場景
  • 九、不適用場景

注:文章內圖片點擊可查看高清大圖和GIF動圖

先上原理圖:點我查看高清大圖 

背景:

1.傳統的Web網站,提交表單,需要重新加載整個頁面。

2.如果服務器長時間未能返回Response,則客戶端將會無響應,用戶體驗很差。

3.服務端返回Response后,瀏覽器需要加載整個頁面,對瀏覽器的負擔也是很大的。

4.瀏覽器提交表單后,發送的數據量大,造成網絡的性能問題。

問題:1.如何改進?

2.AJAX是什么?

3.有什么優勢?

4.有什么缺點?

一、什么是 AJAX  

1.為什么需要AJAX當需要從服務器獲取數據,并刷新頁面的操作,如果不采用AJAX,則需要用提交整個表單的方式,當提交表單時,發送請求給服務器,頁面需要等待服務器發送完response后,頁面才能恢復操作。

2.AJAX的概念:1.AJAX = 異步 JavaScript 和 XML。

2.AJAX 是一種用于創建快速動態網頁的技術。

3.通過在后臺與服務器進行少量數據交換,可以使網頁實現異步更新。

4.可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

3.什么叫異步當前頁面發送一個請求給服務器,當前頁面不需要等待服務器響應才能操作網頁。發送完請求之后,當前頁面可以繼續瀏覽,操作。

4.什么叫局部刷新我們可以用兩種方式來實現部分刷新。

1. iframe頁面重載的方式。

這種方式雖然實現了部分刷新,但是是頁面的重載,所以也會帶來性能上的問題。

Step1.在頁面中定義一個Iframe

  1. View Code 

Step2.設置Iframe的src

  1. View Code 

Step3.添加一個button的點擊事件,當點擊這個button時,重新設置Iframe的src,實現iframe里面的頁面刷新。Iframe外面的內容不刷新。

  1. View Code 
  2. View Code 

通過這種方式我們可以實現一個導航欄的功能:

2.AJAX方式

Step1.JavaScrpit發送異步請求

Step2.服務端查詢數據庫,返回數據

Step3.服務端返回Response

Step4.客戶端根據返回的Response,來用JavaScript操作DOM。

看下面的例子:

當我們切換DropDownList中的Item時,JavaScript發送異步請求給Server端,Server端返回數據,然后JavaScript將數據解析出來,拼接了一個Table,將Table呈現在頁面上。

回到頂部

二、提交Form表單的原理

1.代碼

客戶端代碼:

  1. <form id="form1" action="Test.ashx" method="get"
  2.             您的姓名1:<input type="text" name="fname" size="20" /> 
  3.             <input type="submit" name="submit" value="Sumbit"
  4.  </form> 

服務端代碼:

  1. public void ProcessRequest (HttpContext context) 
  2.         //Delay 
  3.         for (int i = 0; i < 2; i++) 
  4.         { 
  5.             System.Threading.Thread.Sleep(1000); 
  6.         } 
  7.    
  8.          //從Requset.Form中獲取fname的值。使用Form獲取請求的鍵值對的值的前提條件是HTTP request Content-Type 值必須是"application/x-www-form-urlencoded" 或 "multipart/form-data"
  9.         string fname = context.Request["fname"]; 
  10.   
  11.         context.Response.ContentType = "text/plain"
  12.     //將字符串寫入 HTTP 響應輸出流。 
  13.         context.Response.Write("Hello World " + fname); 
  14.  } 

2.將代碼部署到IIS

3.打開站點:

http://localhost:8003/Test.html

4.輸入“Jackson0714”然后點擊Sumbit按鈕,頁面會重新刷新,顯示"Hello World Jackson0714"

5.提交Form表單后,頁面發送請求和服務端返回響應的流程

6.通過抓包,我們可以得到HTTP Headers瀏覽器發送HTTP給服務端,采取的協議是HTTP協議。

在傳輸過程中,我們可以看下HTTP Headers。

三、AJAX提交請求和服務響應的原理

1.代碼

客戶端HTML代碼:

  1. View Code 

客戶端JS代碼:

  1. View Code 

這里有一點需要注意

  1. var xmlhttp = createRequest();  

1.讓服務端能夠操作這個變量,如果定義成局部變量,則服務端返回response時,不能對xmlhttp的屬性賦值。回調函數要求request是全局的,才能訪問這個變量和它的屬性值。

2.定義成全局變量后,可能出現兩個請求或多個請求共享同一個請求對象。而這個請求對象只能存放一個回調函數來處理服務器響應。當服務器返回兩個請求的Response后,可能會調用后指定的回調函數。所以可能有兩個完全不同的服務器響應由同一個回調函數處理,而這可能并不是正確的處理。解決辦法是創建兩個不同的請求對象。

服務端代碼不變。

2.輸入“Jackson0714”然后點擊Sumbit按鈕,頁面不會刷新,在最下面顯示"Hello World Jackson0714"

5.AJAX發送請求和服務端返回響應的流程

6.通過抓包,我們可以得到HTTP Headers瀏覽器發送HTTP給服務端,采取的協議是HTTP協議。

在傳輸過程中,我們可以看下HTTP Headers:

7.AJAX GET和POST方式區別AJAX發送請求和POST發送請求的代碼如下:

  1. //GET方式 
  2. function testGet() { 
  3.     var fname = document.getElementById("testGetName").value; 
  4.     xmlhttp.open("GET""Test.ashx?fname=" + fname + "&random=" + Math.random() , true); 
  5. xmlhttp.onreadystatechange = callback; 
  6.     xmlhttp.send(null); 
  7.    
  8. //POST方式 
  9. function testPost() { 
  10.     var fname = document.getElementById("testPostName").value; 
  11.     xmlhttp.open("POST""Test.ashx?"  + "&random=" + Math.random() , true); 
  12.     xmlhttp.setRequestHeader("Content-Type""application/x-www-form-urlencoded;charset=UTF-8"); 
  13.    xmlhttp.onreadystatechange = callback; 
  14.     xmlhttp.send("fname="+fname); 
  15.      

1.請求的URL中,POST方式可以添加鍵值對,也可以不添加

2.GET方式中,send方法傳遞值無效。對于IE瀏覽器可以忽略send()方法的參數。但是對于FireFox,必須提供一個null引用,否則回調行為將不規律。這是在編寫客戶端腳本時你會發現的一個跨瀏覽器兼容的問題。

3.POST 可以用send方法發送額外信息。發送的信息存放在content中

4.Post方式需要指定Request Header的類型。Get方式不需要指定。

5.GET方式將參數暴露在URL中,POST不暴露。

四、XMLHttpRequest 對象的知識

1.XMLHttpRequest 對象的方法方 法描 述

2.XMLHttpRequest 對象的屬性 屬 性描 述

五、JQuery實現AJAX

下面的代碼實現了當切換DropDownList的item時,觸發getWeeklyCalendar方法,用JQuery的類庫方法$.ajax來發送AJAX請求。

客戶端JQuery代碼

  1. View Code 

后臺成功返回Response后,執行paintWeeklyCandler(data)方法

后臺PHP代碼

  1. View Code 

六、優勢

1.使用異步方式與服務器通信,頁面不需要重新加載,頁面無刷新

2.按需取數據,減少服務器的負擔

3.使得Web應用程序更為迅捷地響應用戶交互

4.AJAX基于標準化的并被廣泛支持的技術,不需要下載瀏覽器插件或者小程序,但需要客戶允許JavaScript在瀏覽器上執行

5.瀏覽器的內容和服務端代碼進行分離。頁面的內容全部由JAVAScript來控制,服務端負責邏輯的校驗和從數據庫中拿數據。

七、缺點

1.安全問題:將服務端的方法暴露出來,黑客可利用這一點進行攻擊

2.大量JS代碼,容易出錯

3.Ajax的無刷新重載,由于頁面的變化沒有刷新重載那么明顯,所以容易給用戶帶來困擾——用戶不太清楚現在的數據是新的還是已經更新過的;現有的解決有:在相關位置提示、數據更新的區域設計得比較明顯、數據更新后給用戶提示等

4.可能破壞瀏覽器后退按鈕的正常行為;

5.一些手持設備(如手機、PAD等)自帶的瀏覽器現在還不能很好的支持Ajax

八、應用場景

1.對數據進行過濾和操縱相關數據的場景

2.添加/刪除樹節點

3.添加/刪除列表中的某一行記錄

4.切換下拉列表item

5.注冊用戶名重名的校驗

九、不適用場景

1.整個頁面內容的保存

2.導航

【本文為51CTO專欄作者“黃哲”的原創稿件,轉載請通過51CTO聯系作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2017-01-10 09:07:53

tcpdumpGET請求

2017-06-07 18:40:33

PromiseJavascript前端

2013-05-03 10:57:09

泛型泛型教程

2020-05-22 10:20:27

Shiro架構字符串

2021-12-01 06:50:50

Docker底層原理

2024-08-27 13:43:38

Spring系統業務

2013-12-11 10:00:14

C++新特性C

2016-08-03 16:01:47

GitLinux開源

2022-09-30 15:46:26

Babel編譯器插件

2016-04-06 11:14:48

iOS相機自定義

2013-11-15 07:24:50

4G LTE圖解

2020-10-29 08:28:42

Java NIO異步非阻塞

2021-11-08 18:37:45

MySQL解碼測試

2018-02-02 10:24:37

Nginx入門指南

2019-04-10 11:03:22

固態SSD筆記本

2025-10-30 09:09:25

2021-01-27 18:15:01

Docker底層宿主機

2020-05-12 09:10:24

瀏覽器服務器網絡

2025-10-27 01:35:00

2025-10-29 09:03:20

點贊
收藏

51CTO技術棧公眾號

www.在线视频| 黄瓜视频在线免费观看| 精品一区二区三区视频在线播放| 亚洲人妖av一区二区| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 日韩欧美影院| 欧美日韩综合在线免费观看| 日本大胆人体视频| 牛牛热在线视频| 国产一区三区三区| 国产97在线|亚洲| 免费在线观看黄视频| 中日韩免视频上线全都免费| 欧美日韩一区二区三区在线| 日韩xxxx视频| 黄网页免费在线观看| 91丝袜美腿高跟国产极品老师| 国产日韩欧美在线看| 久久久久久久黄色片| 91精品一区二区三区综合| 国产婷婷成人久久av免费高清 | 亚洲免费高清视频| 日本特黄在线观看| 日韩美女在线看免费观看| 一区二区三区在线免费观看| 视频一区视频二区视频三区高| 亚洲av色香蕉一区二区三区| 蜜臀精品一区二区三区在线观看| 国内外成人免费激情在线视频| 岛国片在线免费观看| 狼人精品一区二区三区在线| 欧美一区二区三区免费| 亚洲国产高清av| 黄色成人免费网| 婷婷久久综合九色综合绿巨人| 国产精品亚洲天堂| 在线看黄色av| 国产丝袜欧美中文另类| 国新精品乱码一区二区三区18| 91国产精品一区| 日韩av二区在线播放| 欧美影院久久久| 日韩黄色a级片| 亚洲性视频h| 色综合五月天导航| 免费一级a毛片夜夜看| 中文字幕亚洲综合久久五月天色无吗''| 亚洲欧美激情视频| 极品白嫩丰满美女无套| 欧洲亚洲视频| 日韩成人小视频| 捆绑凌虐一区二区三区| 高清一区二区三区| 亚洲高清色综合| 黄色av网址在线观看| 成人高潮视频| 亚洲国产精品久久久| 亚洲午夜久久久久久久久| 亚洲精品a区| 欧美本精品男人aⅴ天堂| 在线观看视频你懂得| 成人污版视频| 日韩一级二级三级| 精品伦一区二区三区| 国内自拍欧美| 亚洲人成在线观看| 波多野结衣家庭教师在线观看| 欧美综合久久| 俺去啦;欧美日韩| 性色av无码久久一区二区三区| 一区二区免费不卡在线| 久久久精品一区二区三区| 久久久久久视频| 欧美国产三级| 午夜欧美不卡精品aaaaa| 国产专区第一页| 免费在线观看成人| 91精品久久香蕉国产线看观看| 国产伦精品一区二区三区视频痴汉| 韩国视频一区二区| 99久久久久国产精品免费| 日韩在线观看视频一区二区三区| 97se亚洲国产综合自在线 | 奇米精品在线| 国产在成人精品线拍偷自揄拍| 激情综合网av| 国产免费一区二区三区| 亚洲三区在线观看无套内射| 欧美激情一区二区三区在线| 欧美精品一区二区性色a+v| 国产经典三级在线| 91官网在线观看| 在线观看免费视频污| 麻豆一区二区麻豆免费观看| 亚洲视频日韩精品| www.99re7| 亚洲综合日韩| 成人欧美一区二区三区在线湿哒哒| 精品国产999久久久免费| 91影院在线免费观看| 中文字幕欧美人与畜| 91福利在线免费| 欧美精品123区| 日本黄色免费观看| 国产精品久久占久久| 久久久久免费精品国产| 中文字幕在线日亚洲9| 成人国产精品免费观看| 一区二区免费在线观看| 黄在线观看免费网站ktv| 欧美高清性hdvideosex| 一区二区三区少妇| 亚洲视频在线免费| 国产不卡精品视男人的天堂 | 精品国产一区二区精华| 国产7777777| 夜夜嗨网站十八久久| 成人性生交大片免费看小说| 你懂的免费在线观看视频网站| 亚洲精品欧美激情| 天天爽夜夜爽一区二区三区 | 日本一区二区精品| eeuss鲁一区二区三区| 欧美高清www午色夜在线视频| 女人被狂躁c到高潮| 欧美国产先锋| 91视频8mav| 在线看的av网站| 色综合一个色综合| a级一a一级在线观看| 欧美视频福利| 成人精品福利视频| 又爽又大又黄a级毛片在线视频| 欧美日韩亚洲国产一区| 在线观看一区二区三区四区| 亚洲一本二本| 成人在线精品视频| 三级外国片在线观看视频| 91久久精品午夜一区二区| wwwwxxxx国产| 欧美专区18| 蜜桃麻豆www久久国产精品| а√在线天堂官网| 欧美成人精品3d动漫h| 欧美老熟妇一区二区三区| 久久99国产精品麻豆| 五月天久久狠狠| 国产精品亚洲d| 亚洲午夜未删减在线观看 | 第一福利在线视频| 精品国产免费久久| www.99re7.com| 99久久综合国产精品| 国产原创中文在线观看| 免费观看成人www动漫视频| 久久久久久91| 天堂av手机版| 日韩欧美大尺度| 少妇av片在线观看| 久久精品国产第一区二区三区| 亚洲日本japanese丝袜| 日韩色性视频| 欧美伦理91i| 视频二区在线观看| 欧美视频在线看| аⅴ天堂中文在线网| 麻豆成人91精品二区三区| 一区二区三区av| 视频一区中文字幕精品| 久久免费视频网站| 色欲av伊人久久大香线蕉影院| 黄色成人在线播放| 蜜桃久久精品成人无码av| 久久精品99久久久| a级片一区二区| 亚州av一区| 国产精品久久久久免费a∨| 蜜桃视频网站在线| 日韩美女视频在线| 天堂网中文字幕| 国产精品萝li| www.四虎精品| 日韩国产一区二| 艳母动漫在线观看| 欧美男男freegayvideosroom| 国产成人精品免费视频| 黄网址在线观看| 亚洲激情 国产| 超碰在线97观看| 一区二区三区在线观看动漫| 精品人妻一区二区三区日产| 日韩电影在线一区| 青青在线视频免费观看| 少妇精品久久久一区二区三区| 国产日韩欧美中文| 天堂电影一区| 久久综合五月天| 日本ー区在线视频| 欧美一级电影网站| 三级网站在线播放| 亚洲美女一区二区三区| 美女久久久久久久久久| 国产精品影音先锋| 日本女优爱爱视频| 黑丝一区二区三区| 亚洲国产精品一区二区第四页av| 日日夜夜精品视频| 国产精品美女免费| 国产丝袜在线观看视频| 日日摸夜夜添一区| 免费一级毛片在线观看| 欧美成人猛片aaaaaaa| 中文字幕 欧美激情| 性欧美大战久久久久久久久| 亚洲综合图片一区| 久久精品一区四区| 亚洲激情 欧美| 国产一区二区91| 日韩中文字幕a| 亚洲欧美日韩国产| 欧美日韩不卡在线视频| 久久久久午夜电影| 日韩欧美99| 四虎影视精品| 国产成人亚洲欧美| 视频精品国内| 亚洲字幕在线观看| 欧美高清影院| 国产精品三级美女白浆呻吟| 亚洲欧美一区二区三区| 97香蕉久久夜色精品国产| 性xxxxfjsxxxxx欧美| 日韩在线视频国产| av播放在线| 中日韩美女免费视频网站在线观看| 手机看片一区二区三区| 欧美不卡一区二区三区四区| 国产精品国产精品国产专区| 欧美体内she精视频| 久久久久精彩视频| 色8久久人人97超碰香蕉987| 久久中文字幕免费| 日韩欧美大尺度| 别急慢慢来1978如如2| 欧美成人黄色网| 久久久久国产精品厨房| av网站免费在线播放| 99国内精品久久| 波多野结衣一二三区| 成人激情午夜影院| 国产十八熟妇av成人一区| 不卡免费追剧大全电视剧网站| 日韩少妇一区二区| 99精品视频一区二区三区| av在线播放网址| 97久久久精品综合88久久| 中文在线永久免费观看| 91蜜桃在线免费视频| 中文字幕高清视频| 欧美激情一区二区三区蜜桃视频| 91狠狠综合久久久久久| 国产精品区一区二区三区| 久久噜噜色综合一区二区| 中文字幕综合网| 久视频在线观看| 午夜精品福利一区二区三区av| 好吊妞视频一区二区三区| 福利二区91精品bt7086| 人妻中文字幕一区二区三区| 欧美剧在线免费观看网站| 99在线观看免费| 亚洲精品按摩视频| 国际av在线| 久久亚洲春色中文字幕| 爱福利在线视频| 日本成人精品在线| 欧美97人人模人人爽人人喊视频| 亚洲直播在线一区| 日韩av影院| 小说区图片区图片区另类灬| 偷拍欧美精品| 黄色一级片播放| 日韩综合一区二区| 国产亚洲色婷婷久久| 91麻豆swag| 色婷婷粉嫩av| 午夜精品久久久久久| 国产免费一区二区三区四区五区| 91精品国模一区二区三区| 十八禁一区二区三区| 中文字幕欧美亚洲| av人人综合网| 国产欧美在线视频| 中文在线免费一区三区| 秋霞在线观看一区二区三区| 欧美激情综合色综合啪啪| 成年人免费在线播放| 国产一区二区三区四区五区美女 | 成人免费观看av| 日韩一级片在线免费观看| 亚洲一区自拍偷拍| 国模私拍一区二区| 亚洲第一偷拍网| 麻豆av在线导航| 欧美在线视频一区二区| 国内不卡的一区二区三区中文字幕| 精品一区二区三区国产| 天天影视欧美综合在线观看| www黄色av| 岛国精品一区二区| 欧美一级片在线视频| 色哟哟精品一区| 国产91久久久| 久久影院模特热| av成人在线播放| 久久国产精品高清| 国产精品magnet| 91精品999| 国产欧美日韩综合精品一区二区| 日本高清www免费视频| 日韩欧美一二三| 女女色综合影院| 国产精品极品美女粉嫩高清在线| 玖玖玖免费嫩草在线影院一区| 亚洲一区 在线播放| 免费高清成人在线| 一道本在线观看| 欧美性猛交xxxxx水多| 刘玥91精选国产在线观看| 伦理中文字幕亚洲| 青青在线精品| 亚洲欧美一区二区原创| 日本三级亚洲精品| 最近中文字幕免费| 91福利国产精品| 嫩草精品影院| 日本乱人伦a精品| 天堂俺去俺来也www久久婷婷| 日韩xxxx视频| 菠萝蜜视频在线观看一区| 久久婷婷综合国产| 精品美女在线观看| 国产探花视频在线观看| 国产精品毛片va一区二区三区| 欧美日本一区二区视频在线观看| 欧美精品色视频| 亚洲精品日产精品乱码不卡| 国产理论视频在线观看| 久热精品视频在线| 日韩精品久久久久久久软件91| 国产精品jizz在线观看老狼| 精品一区二区三区av| 天海翼在线视频| 日韩一级黄色大片| 日本一级淫片免费放| 国产极品模特精品一二| 亚洲国产精品视频一区| 另类综合日韩欧美亚洲| 日韩亚洲欧美中文字幕| 91精品国产高清一区二区三区| 91精品久久| 国产中文一区二区| 久久精品中文| 日韩欧美视频免费观看| 日韩欧美视频一区| 国产va在线视频| 涩涩涩999| 狠狠网亚洲精品| 久久精品视频6| 亚洲毛片在线观看.| 成人精品一区二区三区电影| 91香蕉视频网址| 成人高清在线视频| 亚洲 欧美 中文字幕| 中日韩美女免费视频网站在线观看| 四虎永久精品在线| www.成年人视频| 国产无一区二区| 99久久免费国产精精品| 97免费视频在线播放| 青青草国产免费一区二区下载| 一本一道久久a久久综合蜜桃| 亚洲国产一区二区三区青草影视 | 成人国产精品| 特大黑人娇小亚洲女mp4| av在线播放一区二区三区| 欧美激情一区二区三区免费观看| 欧美裸体xxxx极品少妇| 亚洲最好看的视频| 精品国产鲁一鲁一区二区三区| 激情亚洲一区二区三区四区| 在线看的av网站| 精品麻豆av| 久久99久久精品| 91香蕉在线视频| 久久深夜福利免费观看| 天堂av一区二区三区在线播放| 欧洲在线免费视频| 日韩人在线观看| 成人性生交大片免费看在线播放|