亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

Ajax的內部實現機制、原理與實踐小結

2024-09-01 08:31:27
字體:
來源:轉載
供稿:網友
AJAX全稱為"Asynchronous JavaScript and XML"(異步JavaScript和XML),Ajax不是一個技術,它實際上是幾種技術,每種技術都有其獨特這處,合在一起就成了一個功能強大的新技術。

一、Ajax是什么
AJAX全稱為"Asynchronous JavaScript and XML"(異步JavaScript和XML),Ajax不是一個技術,它實際上是幾種技術,每種技術都有其獨特這處,合在一起就成了一個功能強大的新技術。作為創建交互式網頁應用的網頁開發技術,它有以下特點:
使用XHTML+CSS來表示信息
使用JavaScript操作DOM(Document Object Model)進行動態顯示及交互
使用XML和XSLT進行數據交換及相關操作
使用XMLHttpRequest對象與Web服務器進行異步數據交換
使用JavaScript將所有的東西綁定在一起
使用SOAP以XML的格式來傳送方法名和方法參數
類似于DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。事實上,一些基于AJAX的"派生/合成"式(derivative/composite)的技術正在出現,如"AFLAX"。
AJAX的應用使用支持以上技術的Web瀏覽器作為運行平臺。這些瀏覽器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Mac OS的Safari。但是Opera不支持XSL格式對象,也不支持XSLT。(摘自于:)


二、Ajax誕生的背景,為什么使用Ajax
我們都知道,用戶通過瀏覽器產生一個請求后,此請求通過HTTP協議,向服務器請求所要的資源,如果是一個圖片鏈接,則請求的就是一個圖片資源,如果是一個文件鏈接,則請求的是一個文件資源,多數情況下,請求的是整個網頁,網頁又根據自身的HTML代碼,請求各個具體的資源,比如圖片、音頻等。隨著網站的發展,用戶量越來越大,服務器的壓力也越來越大,這就暴露出了一個問題,即:大多數用戶在請求資源時,新請求的那個網頁中,與現在的那個網頁有很多相同的地方。但是由于請求的是整個網頁,它會重新從服務器獲取所有的資源(當然,有很多圖片、文件之類的會從客戶端中獲?。?,這就是大大的浪費。
為了解決這個問題,Ajax就誕生了,它主要的作用就是,通過XMLHttpRequest對象獲取服務器資源,局部刷新用戶正在瀏覽頁面,大大減輕了服務器的壓力,由于只獲取的是需要更新的資源,相對整個頁面的資源來說,瀏覽器也服務器之間的數據交互量也大大減少(大約只有原來的5%),大大加快了頁面的加載速度。

三、Ajax發展史
該技術原屬于微軟的一個研發小組,為了允許客戶端發送HTTP請求,研發出來的,但沒有得到廣泛應用。后經Google廣泛用于它的應用程序進行異步通訊交互,如google討論組、google地圖等,Ajax這個詞由《Ajax: A New Approach to Web Applications》一文所創,該文的迅速流傳提高了人們使用該項技術的意識,后來就出現了瘋狂的Ajax革命。

四、Ajax實踐
AJAX 的要點是 XMLHttpRequest 對象,所有的實現也是通過XMLHttpRequest對象操作的。但是在瀏覽器大戰的今天,不同的瀏覽器創建 XMLHttpRequest 對象的方法是有差異的。IE 瀏覽器使用 ActiveXObject,而其他的瀏覽器使用名為 XMLHttpRequest 的 JavaScript 內建對象。

復制代碼 代碼如下:


// Mozilla, Safari,Opera 8.0+...
function ajaxFunction(){
var http_request;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("您的瀏覽器不支持Ajax");
return false;
}
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('There was a problem with the request.');
}
}
}


解釋:首先創建一個XMLHttpRequest對象http_request,如果支持window.XMLHttpRequest,則用new XMLHttpRequest() 來創建此對象。這條語句針對 Firefox、Opera 以及 Safari 瀏覽器,如果不支持,則嘗試針對Internet Explorer 6.0+ 的Msxml2.XMLHTTP組件創建XMLHttpRequest,如果也不支持,則嘗試針對 Internet Explorer 5.5+ 的Microsoft.XMLHTTP組件,如果仍然不支持,則說明用戶的瀏覽器版本太低了,提示用戶“您的瀏覽器不支持AJAX”。
XMLHttpRequest對象的onreadystatechange方法用于,狀態改變時要執行的方法,用來處理這個響應。
readyState的狀態是:
  0 請求未初始化(open() 之前)
  1 請求已提出,正在裝載 (調用 send() 之前)
  2 裝載完畢,請求已發送(這里通??梢詮捻憫玫絻热蓊^部)
  3 交互中,請求處理中(響應中通常有部分數據可用,但是服務器還沒有完成響應)
  4 請求已完成(可以訪問服務器響應并使用它)
所以當readyState等于4時,就表示一個完整的服務器響應已經收到了,接著,函數會檢查HTTP服務器響應的狀態值。當HTTP服務器響應的值為200時,表示狀態正常。這時候才真正執行客戶端要執行的操作。
讀取從服務器返回過來的數據,有兩種方式:
  1、http_request.responseText:以文本字符串的方式返回服務器的響應
  2、http_request.responseXML:以XMLDocument對象方式返回響應

五、Ajax缺陷與不足
1、可能破壞瀏覽器后退按鈕的正常行為;
2、使用動態頁面更新使得用戶難于將某個特定的狀態保存到收藏夾中;
3、Ajax的無刷新重載,由于頁面的變化沒有刷新重載那么明顯,所以容易給用戶帶來困擾——用戶不太清楚現在的數據是新的還是已經更新過的;現有的解決有:在相關位置提示、數據更新的區域設計得比較明顯、數據更新后給用戶提示等;
4、一些手持設備(如手機、PDA等)現在還不能很好的支持Ajax。

六、Ajax工具

1、jQuery 開源JS框架,寫得更少,做得更多;
2、ASP.NET AJAX Extension 微軟AJAX工具箱;
3、ExtJS 一個自YUI延伸出來的Ajax框架。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费影视第一页| 亚洲国产精品99久久| 久久视频在线直播| 欧美一区三区三区高中清蜜桃| 国产精品久久久久国产a级| 久久婷婷国产麻豆91天堂| 成人淫片在线看| 欧美在线中文字幕| 欧美二区在线播放| 久久久久久久激情视频| 92看片淫黄大片欧美看国产片| 欧美www视频在线观看| 欧美激情videoshd| 国产成人鲁鲁免费视频a| 青青草一区二区| 亚洲精美色品网站| 亚洲自拍偷拍色片视频| 欧美国产日韩一区二区三区| 欧美大片网站在线观看| 精品亚洲一区二区三区在线播放| 欧美电影在线观看完整版| 国产精品一区二区女厕厕| 日韩成人中文电影| 国内偷自视频区视频综合| 国产精品99久久久久久久久| 亚洲石原莉奈一区二区在线观看| 国产精品久久一区主播| 亚洲成av人影院在线观看| 亚洲一区中文字幕| 色偷偷噜噜噜亚洲男人的天堂| 亚洲成人激情在线观看| 91精品在线看| 久久在精品线影院精品国产| 国产精品成人播放| 美女撒尿一区二区三区| 欧洲亚洲女同hd| 久久精品国产一区二区三区| 91美女片黄在线观看游戏| 亚洲欧美一区二区三区久久| 欧美日韩福利在线观看| 26uuu日韩精品一区二区| 亚洲成avwww人| 欧美日韩亚洲一区二区| 日本不卡免费高清视频| 精品国产乱码久久久久久天美| 亚洲成人亚洲激情| 国产精品久久久久久五月尺| 精品一区二区三区四区在线| 欧美日韩中文在线| 国产日本欧美一区二区三区在线| 日韩黄色av网站| 亚洲精品狠狠操| 欧美大胆a视频| 成人免费在线视频网站| 欧美午夜丰满在线18影院| 国产一区二区三区四区福利| 亚洲人成在线观看网站高清| 丝袜美腿精品国产二区| 亚洲精品在线91| 久久男人av资源网站| 欧美一级高清免费| 一本久久综合亚洲鲁鲁| 麻豆一区二区在线观看| 亚洲欧洲一区二区三区久久| 久久久久久国产精品三级玉女聊斋| 庆余年2免费日韩剧观看大牛| 欧美在线中文字幕| 久久久久999| 韩国精品久久久999| 91精品中国老女人| 日韩视频欧美视频| 亚洲精品视频免费| 欧美极品少妇xxxxx| 成人免费视频在线观看超级碰| 亚洲国产成人在线播放| 亚洲情综合五月天| 久久国产精品视频| 久久理论片午夜琪琪电影网| 亚洲天堂影视av| 久久伊人精品天天| 久久精品国产一区| 激情懂色av一区av二区av| 精品无人区太爽高潮在线播放| 国产精品入口免费视频一| 亚洲人成在线免费观看| 亚洲欧美日韩直播| 久久久国产精彩视频美女艺术照福利| 国产一区二区在线免费| 欧洲成人在线视频| 国产一区二区丝袜高跟鞋图片| 欧美另类交人妖| 欧美有码在线观看视频| 日本电影亚洲天堂| 2024亚洲男人天堂| 国产99久久久欧美黑人| 日韩欧美在线第一页| 久久久久久综合网天天| 久久这里只有精品99| www.国产一区| 久久中文字幕在线| 上原亚衣av一区二区三区| 亚洲视频在线视频| 国产精品a久久久久久| 国产91在线播放九色快色| 亚洲另类图片色| 国产主播在线一区| 亚洲国产精品va在线看黑人动漫| 中文字幕日韩免费视频| 日本一区二区在线播放| 欧美亚州一区二区三区| 欧美俄罗斯性视频| 在线视频中文亚洲| 国产精品丝袜视频| 成人激情视频小说免费下载| 国产精品爱久久久久久久| 欧美国产精品人人做人人爱| 日本久久91av| 精品香蕉在线观看视频一| 国产成人精品电影久久久| 精品爽片免费看久久| 欧美激情精品久久久久久大尺度| 国产欧美日韩丝袜精品一区| 4438全国亚洲精品在线观看视频| 国产精品人成电影在线观看| 欧美激情性做爰免费视频| 国产精品高潮呻吟久久av无限| 中文字幕免费精品一区| 992tv成人免费影院| 日本久久久久久久久久久| 啪一啪鲁一鲁2019在线视频| 亚洲成色777777在线观看影院| 激情久久av一区av二区av三区| 日韩免费视频在线观看| 欧美大片免费看| 中文字幕亚洲图片| 国产精品永久免费在线| 91国产精品91| 国产精品视频一区二区高潮| 国产午夜精品久久久| 中文字幕亚洲欧美一区二区三区| 97超级碰碰人国产在线观看| 欧美成aaa人片在线观看蜜臀| 久久在线精品视频| 国产精品女主播| 欧美午夜宅男影院在线观看| 日韩精品视频在线观看网址| 国产精品久久久久久久久久| 992tv成人免费视频| 在线电影欧美日韩一区二区私密| 欧美日韩一区免费| 久久精品国产69国产精品亚洲| 国产日韩专区在线| 国产精品入口免费视| 欧美日韩精品在线| 国产成人精品日本亚洲专区61| 亚洲久久久久久久久久久| 日韩av片永久免费网站| 成人黄色午夜影院| 亚洲一级一级97网| 欧美在线不卡区| 日韩av网址在线观看| 亚洲а∨天堂久久精品9966| 亚洲va欧美va国产综合久久| 欧美午夜精品久久久久久人妖|