欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Ajax技術(shù)原理的3點(diǎn)總結(jié)

 更新時(shí)間:2014年12月15日 10:20:59   投稿:hebedich  
這篇文章主要介紹了關(guān)于Ajax技術(shù)原理的3點(diǎn)總結(jié),需要的朋友可以參考下

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

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

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

2.0 工作原理

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

復(fù)制代碼 代碼如下:

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相關(guān)屬性:

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

    responseText               從服務(wù)器進(jìn)程返回?cái)?shù)據(jù)的字符串形式。

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

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

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

    readyState                   對象狀態(tài)值

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

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

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

      3 (數(shù)據(jù)傳送中) 已接收部分?jǐn)?shù)據(jù),因?yàn)轫憫?yīng)及http頭不全,這時(shí)通過responseBody和responseText獲取部分?jǐn)?shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤,

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

  2.3 簡單的Demo示例:

復(fù)制代碼 代碼如下:

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 缺點(diǎn):

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

相關(guān)文章

  • 使用Ajax技術(shù)通過XMLHttpRequest對象完成首頁登錄功能

    使用Ajax技術(shù)通過XMLHttpRequest對象完成首頁登錄功能

    這篇文章主要介紹了使用Ajax技術(shù)通過XMLHttpRequest對象完成首頁登錄功能,很不錯(cuò)的嘗試,需要的朋友可以參考下
    2014-08-08
  • AJAX初級聊天室代碼

    AJAX初級聊天室代碼

    AJAX初級聊天室代碼...
    2007-01-01
  • 簡單談?wù)凙JAX核心對象

    簡單談?wù)凙JAX核心對象

    核心對象是XMLHttpRequest,它可以提供不重新加載頁面的情況下更新網(wǎng)頁,在頁面加載后在客戶端向服務(wù)器請求數(shù)據(jù),在頁面加載后在服務(wù)器端接受數(shù)據(jù),在后臺向客戶端發(fā)送數(shù)據(jù)。
    2015-11-11
  • 談?wù)凙jax原理實(shí)現(xiàn)過程

    談?wù)凙jax原理實(shí)現(xiàn)過程

    Asynchronous javascript and xml(ajax),實(shí)現(xiàn)了客戶端與服務(wù)器進(jìn)行數(shù)據(jù)交流過程。使用技術(shù)的好處是:不用頁面刷新,并且在等待頁面?zhèn)鬏敂?shù)據(jù)的同時(shí)可以進(jìn)行其他操作
    2015-11-11
  • Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作

    Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作

    這篇文章主要介紹了Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請求實(shí)例

    js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請求實(shí)例

    這篇文章主要介紹了js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請求,以實(shí)例形式分別講述了采用純js與jQuery實(shí)現(xiàn)的兼容多瀏覽器Ajax請求的方法,并對Ajax中出現(xiàn)的亂碼問題進(jìn)行了一定的分析,需要的朋友可以參考下
    2014-11-11
  • ajax與傳統(tǒng)web開發(fā)的異同點(diǎn)

    ajax與傳統(tǒng)web開發(fā)的異同點(diǎn)

    本文給大家介紹ajax與傳統(tǒng)web開發(fā)的異同點(diǎn),涉及到ajax、web方面的知識,感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2015-10-10
  • ajax實(shí)現(xiàn)加載數(shù)據(jù)功能

    ajax實(shí)現(xiàn)加載數(shù)據(jù)功能

    這篇文章主要為大家詳細(xì)介紹了ajax實(shí)現(xiàn)加載數(shù)據(jù)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • kkpager 實(shí)現(xiàn)ajax分頁查詢功能

    kkpager 實(shí)現(xiàn)ajax分頁查詢功能

    kkpager 實(shí)現(xiàn)ajax分頁查詢功能,前臺分頁數(shù)據(jù),適合數(shù)據(jù)少量的時(shí)候,因?yàn)榉猪摰臄?shù)據(jù)是從后臺獲取的,大數(shù)據(jù)的話不建議使用 ,具體前后臺代碼大家參考下本文吧
    2017-08-08
  • Ajax實(shí)現(xiàn)關(guān)鍵字聯(lián)想和自動(dòng)補(bǔ)全功能及遇到坑

    Ajax實(shí)現(xiàn)關(guān)鍵字聯(lián)想和自動(dòng)補(bǔ)全功能及遇到坑

    這篇文章主要介紹了Ajax實(shí)現(xiàn)關(guān)鍵字聯(lián)想和自動(dòng)補(bǔ)全功能,實(shí)現(xiàn)代碼包括前端部分和后端部分,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08

最新評論