ajax

ajax作用:ajax就是異步javascript和xml,使得不加載整個頁面的情況下,渲染部分區域的效果。ajax的過程就是從服務器請求數據并渲染到頁面上過程。

邏輯過程:

1、初始化xmlhttprequest對象,如果瀏覽器支持則新建XMLHttpRequest,如果瀏覽器不支持,如ie5,ie6,就新建一個ActiveXObject;//就是記不得大小寫,

var a;

if(window.XMLHttpRequest)

{

 a=new XMLHttpRequest();

}

else

{

a=new ActiveXObject("microsoft.xmlhttp");//ie5,ie6

}

2、請求,定義發送方式、服務器地址和同步還是異步。裡面發送方式有POST和GET。GET的速度一般比POST快,但是以下情況應該使用POST:1、沒有緩存;2、大量請求;3、有無法識別的用戶字符;同步和異步的區別:同步提交請求后,會等待服務器響應后才會有後續操作,如果請求繁忙或者緩慢,可能導致應用程序掛起或者停止。同步方式適合小型的請求。同步請求沒有onReadyStateChange

//post

a.open("POST",url,true);

a.send("字符串")

//get

a.open("GET",url,true)

a.send()

3、響應

ResponseText:獲取服務器的非XML響應

ResponseXML:獲取服務器的XML響應

4、ReadyState

    xmlhttprequest的三個重要屬性:

    onReadyStateChange:每當ReadyState發生變化是,觸發函數

    readyState:xmlhttprequest的狀態

         0、未初始化請求;1、服務器路徑已建立;2、請求已接收;3、請求正在處理中;4、請求處理完成,并且響應已經就緒

    status: 

         200:ok  404:未找到頁面

   a.onReadyStateRequest=function(){

if(a.ReadyState==4&&a.status==200}

{

 var b=a.RespomseText;

}

}

5、一般會把ajax的封裝為一個函數,這樣就可以被共用,使用回調函數處理響應。

      將回調函數賦值給onReadyStateChange,每當ReadyState改變時,就會調用該函數。

 jquery ajax:

     

vue Ajax:

    1、異步加載vue-resource庫;

    2、全局

        vue.http.get(url,data).then(successcallback,failcallbak)

        vue.http.post(url,data,body).then(successcallback,failcallbak)

         局部

          this.$http.其它一樣

   

原文地址:https://www.cnblogs.com/Zhengxiaoxiao/p/10572493.html