<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Ajax技術原理的幾點總結

            時間:2024-10-31 05:21:51 AJAX 我要投稿
            • 相關推薦

            關于Ajax技術原理的幾點總結

              ajax:Asynchronous Javascript and XML   異步Javascript 和XML。是一種創建交互式網頁應用的網頁開發技術。那么下面我們來談談關乎Ajax技術原理的幾點總結。想了解更多相關資訊請持續關注我們應屆畢業生培訓網。

            關于Ajax技術原理的幾點總結

              1.0 優勢:

              1.1 通過異步模式,提升了用戶體驗。

              1.2 優化了瀏覽器與服務器之間的傳輸,減少了不必要的數據往返,減少了帶寬占用。

              1.3 Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的共組,從而減少了大用戶量下的服務器負載。

              2.0 工作原理

              Ajax核心是Javascript對象XmlHttpRequest。該對象在 IE5中首次引用,它是一種支持異步請求的技術。XmlHttpRequest使您可以使用Javascript向服務器提出請求并處理響應,而不是阻塞用戶,達到無刷新的效果。

              由于瀏覽器之間存在差異,創建XmlHttpRequest對象的方式也有差異(主要是IE和其他瀏覽器之間的差異)。

              2.1 比較通用型的創建異步請求的方法:

              代碼如下:

              function CreateXmlHttp() {

              //非IE瀏覽器創建XmlHttpRequest對象的方法

              if (window.XmlHttpRequest) {

              xmlhttp = new XmlHttpRequest();

              }

              //IE瀏覽器創建XmlHttpRequest對象的方法

              if (window.ActiveXObject) {

              try {

              xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

              }

              catch (e) {

              try {

              xmlhttp = new ActiveXObject("msxml2.XMLHTTP");

              }

              catch (ex)

              { }

              }

              }

              }

              2.2 XmlHttpRequest相關屬性:

              onreadystatechange      每次狀態改變所觸發事件的事件處理程序。

              responseText               從服務器進程返回數據的字符串形式。

              responseXML                從服務器進程返回的DOM兼容的文檔數據對象。

              status                         從服務器返回的數字代碼,比如常見的404(未找到)和200(已就緒)

              status Text                  伴隨狀態碼的字符串信息

              readyState                   對象狀態值

              0 (未初始化) 對象已建立,但是尚未初始化(尚未調用open方法)

              1 (初始化) 對象已建立,尚未調用send方法

              2 (發送數據) send方法已調用,但是當前的狀態及http頭未知

              3 (數據傳送中) 已接收部分數據,因為響應及http頭不全,這時通過responseBody和responseText獲取部分數據會出現錯誤,

              4 (完成) 數據接收完畢,此時可以通過通過responseXml和responseText獲取完整的回應數據

              2.3 簡單的Demo示例:

              代碼如下:

              function SendAsyncRequest() {

              var data = document.getElementById("XXId").value;

              CreateXmlHttp();  //創建XmlHttpRequest對象

              if (!xmlhttp) {         //判斷對象是否創建成功

              alert("創建xmlhttp對象異常!");

              return false;

              }

              xmlhttp.open("POST", url, false);   //開始發送異步請求

              xmlhttp.onreadystatechange = function () {

              if (xmlhttp.readyState == 4 && xmlhttp.status == 200 ) {

              document.getElementById("XXShowId").innerHTML = xmlhttp.ResponseText;   //數據接收完畢

              }

              }

              xmlhttp.send();

              }

              3.0 缺點:

              1.破壞了瀏覽器后退按鈕的正常行為,動態更新頁面后,無法回到前一個頁面的狀態。

              2.使用Javascript作為Ajax的基礎引擎,Javascript的兼容性并不是很好。(當然現在流行的Jquery等javascript類庫大大改善了這些問題,對Ajax的調用也方便了很多,本文只是簡述了Ajax的基本實現原理)。

            【Ajax技術原理的幾點總結】相關文章:

            AJAX的工作原理及優缺點08-16

            幾點鋼琴的技術基礎09-22

            PHP路由技術的原理與實踐10-15

            PTN網絡技術的原理及分析08-16

            華為vlan技術原理預配置命令08-17

            使用ajax操作JavaScript對象的方法09-28

            基于ajax實現無刷新分頁的方法10-15

            解析ajax請求post和get的區別10-01

            如何利用ajax獲取博文列表08-03

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看