1. 程式人生 > >簡單介紹一下AjAx

簡單介紹一下AjAx

文章原地址:http://blog.sina.com.cn/s/blog_7fabe7e20102x3cr.html

什麼是AjAx

非同步的javascriptxml

作用是什麼?

通過AjAx與伺服器進行資料交換,AjAx可以使用網頁實現佈局更新。

這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。

怎麼來實現Ajax

XmlHttpRequest物件,使用這個物件可以異步向伺服器傳送請求,獲取響應更新,完成區域性更新。 Open send responseText/responseXML 區域性響應。

使用場景

登入失敗不跳轉頁面。

註冊實時提示使用者名稱是否存在。

省市區的聯動。

管理圖片伺服器,進行延時載入。

原生AjAx寫法:

var XHR=null; 

if (window.XMLHttpRequest) { 

    // IE核心

    XHR = new XMLHttpRequest(); 

} else if (window.ActiveXObject) { 

    // IE核心,這裡早期IE的版本寫法不同,具體可以查詢下

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

} else { 

    XHR = null; 

if(XHR){ 

    XHR.open("GET", "ajaxServer.action"); 

    XHR.onreadystatechange = function () { 

        // readyState值說明

        // 0,初始化,XHR物件已經建立,還未執行open 

        // 1,載入,已經呼叫open方法,但是還沒傳送請求

        // 2,載入完成,請求已經發送完成

        // 3,互動,可以接收到部分資料

        // status值說明

        // 200:成功

        // 404:沒有發現檔案、查詢或URl 

        // 500:伺服器產生內部錯誤

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

            // 這裡可以對返回的內容做處理

            // 一般會返回JSONXML資料格式

            console.log(XHR.responseText); 

            // 主動釋放,JS本身也會回收的

            XHR = null; 

        } 

    }; 

    XHR.send(); 

Jquery AjAx寫法:

$.ajax({ 

        url:"servlet", 

        type:"post",//get 

        data:{}, 

        async:true, 

        cache:true, 

        complete:function(){}, 

        traditional:false, 

        dataType:"json", 

        success:function(data){}, 

        error:function(){} 

     }); 

 $.post("servlet",{},function(data){},"json"); 

 $.get("servlet",function(data){},"json");