亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ajax的基本原理

原創(chuàng) 2016-11-12 11:46:30 399
摘要:一. ajax的簡介  ajax 的全稱是Asynchronous(異步的意思) JavaScript and XML,是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)  ajax技術(shù)的流行得益于google的大力推廣,正是由于google產(chǎn)品對ajax技術(shù)的廣泛應(yīng)用,使得ajax流行起來了?! jax其核心有JavaScript、XMLHTTPRequest、DOM對象組成,通過XMLHttpReque

一. ajax的簡介

  ajax 的全稱是Asynchronous(異步的意思) JavaScript and XML,是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)

  ajax技術(shù)的流行得益于google的大力推廣,正是由于google產(chǎn)品對ajax技術(shù)的廣泛應(yīng)用,使得ajax流行起來了。

  ajax其核心有JavaScript、XMLHTTPRequest、DOM對象組成,通過XMLHttpRequest對象來向服務(wù)器發(fā)異步請求,從服務(wù)器獲得數(shù)據(jù),然后用JavaScript來操作DOM而更新頁面。這其中最關(guān)鍵的一步就是從服務(wù)器獲得請求數(shù)據(jù)。

  XMLHttpRequest是ajax的核心機制,它是在IE5中首先引入的,是一種支持異步請求的技術(shù)。簡單的說,也就是js可以及時向服務(wù)器提出請求和處理響應(yīng),而不阻塞用戶。達(dá)到無刷新的效果。下面來看一下ajax的請求步驟。

二.a(chǎn)jax的請求步驟      

  1、創(chuàng)建異步對象

    Var ajax=new XMLHttpRequest();

  2、注冊回調(diào)函數(shù)     

    ajax.onreadystatechange=callback;

    要注意的是callback不能寫成callback(),我們是想把方法名告訴onreadystatechange這個屬性,如果加了括號,就相當(dāng)于把返回值告訴了onreadystatechange屬性。

  3、使用open方法設(shè)置和服務(wù)器端交互的基本信息

    1.)GET方式交互     

    ajax.open("GET","AJAX?name=" + userName,true);     

    2.)POST方式交互

    ajax.open("POST","AJAX",true);

  4、設(shè)置發(fā)送的數(shù)據(jù),開始和服務(wù)器端交互  

    1.)GET方式

      ajax.send(null);

    2.)POST方式

       ajax.send("name=" + userName);

  5、更新界面

    在回調(diào)函數(shù)中判斷交互是否結(jié)束,響應(yīng)是否正確,并根據(jù)需要獲取服務(wù)器返回的數(shù)據(jù),并更新頁面

      array.push(ajax.readyState);  //判斷和服務(wù)器端的交互是否完成,還要判斷服務(wù)器端是否正確返回了數(shù)據(jù)

      if(ajax.readyState == 4 && ajax.status == 200){  //第一個判斷條件是表示和服務(wù)器端的交互已經(jīng)完成,第二個判斷條件是服務(wù)器的是響應(yīng)代碼是200,正確返回了數(shù)據(jù)

      var message=ajax.responseText;  //XML數(shù)據(jù)對應(yīng)的DOM對象的接受方法,使用的前提是,服務(wù)器端需要設(shè)置contenttype為text/xml

      var div=document.getElementById("message");

        div.innerHTML=message;  //將獲取的xml數(shù)據(jù)添加到頁面上

        console.log(array)  

    }

三.a(chǎn)jax的優(yōu)點

  1、最大的一點是頁面無刷新,在頁面內(nèi)與服務(wù)器通信,給用戶的體驗非常好。

  2、使用異步方式與服務(wù)器通信,不需要打斷用戶的操作,具有更加迅速的響應(yīng)能力。

  3、可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務(wù)器和帶寬的負(fù)擔(dān),節(jié)約空間和寬帶租用成本。并且減輕服務(wù)器的負(fù)擔(dān),ajax的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請求,和響應(yīng)對服務(wù)器造成的負(fù)擔(dān)。

  4、基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。

四.a(chǎn)jax的缺點

  1、ajax干掉了瀏覽器的back按鈕,對瀏覽器后退機制的破壞。

  2、安全問題,ajax技術(shù)就如同對企業(yè)數(shù)據(jù)建立了一個直接通道,暴露出請求的接口的數(shù)據(jù).

  3、對搜索引擎支持的不友好.

  4、破壞了程序的異常機制,如果程序拋出異常,對調(diào)試帶來不方


發(fā)布手記

熱門詞條