Ajax的工作原理

來源:互聯網
上載者:User

標籤:應用   租用   str   otto   無重新整理   username   border   支援   res   

Ajax的工作原理

ajax 的全稱是Asynchronous(非同步意思) JavaScript and XML。是一種建立互動式網頁應用的網頁開發技術ajax技術的流行得益於google的大力推廣。正是由於google產品對ajax技術的廣泛應用,使得ajax流行起來了。Ajax其核心有JavaScript、XMLHTTPRequest、DOM對象組成。通過XmlHttpRequest對象來向server發非同步請求。從server獲得資料。然後用JavaScript來操作DOM而更新頁面。這當中最關鍵的一步就是從server獲得請求資料.這當中最關鍵的一步就是從server獲得請求資料,要清楚這個過程和原理,我們必須對 XMLHttpRequest有所瞭解XMLHttpRequest是ajax的核心機制,它是在IE5中首先引入的,是一種支援非同步請求的技術。簡單的說,也就是js能夠及時向server提出請求和處理響應,而不堵塞使用者。

達到無重新整理的效果。


XMLHttpRequest 對象方法描寫敘述 

方    法 描    述
abort() 停止當前請求 
getAllResponseHeaders() 把HTTP請求的全部回應標頭部作為鍵/值對返回
getResponseHeader("header") 返回指定頭部的串值
open("method","URL",[asyncFlag],["userName"],["password"])  建立對server的調用。method參數能夠是GET、POST或PUT。

url參數能夠是相對URL或絕對URL。

這種方法還包含3個可選的參數,是否非同步,username,密碼

send(content) 向server發送請求
setRequestHeader("header", "value") 設定HTTP請求時的頭部資訊。在設定不論什麼頭部之前必須先調用open()。設定header並和請求一起發送 (‘post‘方法一定要 )

XMLHttpRequest 對象屬性描寫敘述

  屬  性 描    述
onreadystatechange 狀態改變的事件觸發程序,每一個狀態改變時都會觸發這個事件處理器,一般會調用一個JavaScript函數
readyState 請求的狀態。有5個可取值:0 = 未初始化,1 = 正在載入,2 = 已載入。3 = 互動中,4 = 完畢
0 (未初始化) 對象已建立。可是尚未初始化(尚未調用open方法)1 (初始化) 對象已建立,尚未調用send方法2 (發送資料) send方法已調用,可是當前的狀態及http頭未知3 (資料傳送中) 已接收部分資料,由於響應及http頭不全,這時通過responseXml和responseText擷取部分資料會出現錯誤,4 (完畢) 資料接收完畢,此時能夠通過通過responseXml和responseText擷取完整的響應資料
responseText server的響應,返回資料的文本。
responseXML server的響應,返回資料的相容DOM的XML文檔對象 ,這個對象能夠解析為一個DOM對象。

responseBody  server返回的主題(非文字格式設定)
responseStream server返回的資料流
status server的HTTP狀態代碼(如:404 = "檔案末找到" 、200 ="成功" 。等等)
statusText server返回的狀態文本資訊 ,HTTP狀態代碼的對應文本(OK或Not Found(未找到)等等)

ajax的長處1、最大的一點是頁面無重新整理。在頁面內與server通訊,給使用者的體驗很好。

2、使用非同步方式與server通訊。不須要打斷使用者的操作,具有更加迅速的響應能力。3、能夠把曾經一些server負擔的工作轉嫁到client。利用client閑置的能力來處理。減輕server和頻寬的負擔。節約空間和寬頻租用成本。而且減輕server的負擔。ajax的原則是“按需取資料”。能夠最大程度的降低冗餘請求,和響應對server造成的負擔。4、基於標準化的並被廣泛支援的技術。不須要下載外掛程式或者小程式。

ajax的缺點1、ajax幹掉了瀏覽器的backbutton。對瀏覽器後退機制的破壞。2、安全問題,ajax技術就如同對企業資料建立了一個直接通道,暴露出請求的介面的資料.3、對搜尋引擎支援的不有好.4、破壞了程式的異常機制,假設程式拋出異常,對調試帶來不方便。



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

Ajax的工作原理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.