簡單介紹一下AjAx
文章原地址:http://blog.sina.com.cn/s/blog_7fabe7e20102x3cr.html
什麼是AjAx?
非同步的javascript和xml。
作用是什麼?
通過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) {
// 這裡可以對返回的內容做處理
// 一般會返回JSON或XML資料格式
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");