最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年12月15日 10:20:59   投稿:hebedich  
這篇文章主要介紹了關于Ajax技術原理的3點總結,需要的朋友可以參考下

ajax:Asynchronous Javascript and XML   異步Javascript 和XML。

是一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術。

1.0 優(yōu)勢:
        1.1 通過異步模式,提升了用戶體驗。
        1.2 優(yōu)化了瀏覽器與服務器之間的傳輸,減少了不必要的數(shù)據(jù)往返,減少了帶寬占用。
        1.3 Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的共組,從而減少了大用戶量下的服務器負載。

2.0 工作原理

       Ajax核心是Javascript對象XmlHttpRequest。該對象在 IE5中首次引用,它是一種支持異步請求的技術。XmlHttpRequest使您可以使用Javascript向服務器提出請求并處理響應,而不是阻塞用戶,達到無刷新的效果。
       由于瀏覽器之間存在差異,創(chuàng)建XmlHttpRequest對象的方式也有差異(主要是IE和其他瀏覽器之間的差異)。
 
  2.1 比較通用型的創(chuàng)建異步請求的方法:

復制代碼 代碼如下:

function CreateXmlHttp() {
//非IE瀏覽器創(chuàng)建XmlHttpRequest對象的方法
if (window.XmlHttpRequest) {
        xmlhttp = new XmlHttpRequest();
    }
//IE瀏覽器創(chuàng)建XmlHttpRequest對象的方法
if (window.ActiveXObject) {
try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
catch (e) {
    try {
                xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
             }
    catch (ex)
            { }
        }
    }
}

  2.2 XmlHttpRequest相關屬性:

    onreadystatechange      每次狀態(tài)改變所觸發(fā)事件的事件處理程序。

    responseText               從服務器進程返回數(shù)據(jù)的字符串形式。

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

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

    status Text                  伴隨狀態(tài)碼的字符串信息

    readyState                   對象狀態(tài)值

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

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

      2 (發(fā)送數(shù)據(jù)) send方法已調用,但是當前的狀態(tài)及http頭未知

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

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

  2.3 簡單的Demo示例:

復制代碼 代碼如下:

function SendAsyncRequest() {
var data = document.getElementById("XXId").value;
    CreateXmlHttp();  //創(chuàng)建XmlHttpRequest對象
if (!xmlhttp) {         //判斷對象是否創(chuàng)建成功
       alert("創(chuàng)建xmlhttp對象異常!");
    return false;
    }
    xmlhttp.open("POST", url, false);   //開始發(fā)送異步請求
    xmlhttp.onreadystatechange = function () {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200 ) {
            document.getElementById("XXShowId").innerHTML = xmlhttp.ResponseText;   //數(shù)據(jù)接收完畢
        }
    }
    xmlhttp.send();  
}

3.0 缺點:

    1.破壞了瀏覽器后退按鈕的正常行為,動態(tài)更新頁面后,無法回到前一個頁面的狀態(tài)。
    2.使用Javascript作為Ajax的基礎引擎,Javascript的兼容性并不是很好。(當然現(xiàn)在流行的Jquery等javascript類庫大大改善了這些問題,對Ajax的調用也方便了很多,本文只是簡述了Ajax的基本實現(xiàn)原理)。

相關文章

最新評論

吴川市| 普宁市| 扎赉特旗| 那坡县| 苏尼特左旗| 威海市| 怀宁县| 南木林县| 彭水| 鄂州市| 竹北市| SHOW| 海林市| 威远县| 丰原市| 同仁县| 鲜城| 肇源县| 长治县| 玉门市| 凌海市| 庄河市| 梁河县| 旬阳县| 新竹市| 贵港市| 眉山市| 高清| 津市市| 铜梁县| 鹿泉市| 彭水| 自治县| 遂川县| 双桥区| 油尖旺区| 阳谷县| 榆中县| 克什克腾旗| 城口县| 甘德县|