Ajax簡介
一、什么是ajax
ajax即異步JavaScript和XML,它是一種用於創建快速動態網頁的技術。作用是通過在后台與服務器進行少量數據交換,使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
二、實現ajax基本步驟
創建XMLHttpRequest對象,也就是創建一個異步調用對象. 創建一個新的HTTP請求,並指定該HTTP請求的方法、URL及驗證信息. 設置響應HTTP請求狀態變化的函數. 發送HTTP請求. 獲取異步調用返回的數據. 使用JavaScript和DOM實現局部刷新.
三、ajax實現方式
這里我們不做原生ajax的介紹,因為JQuery對ajax進行了封裝。可以用少量的代碼實現原生ajax的功能,同時又幫助我們解決了瀏覽器的兼容問題,沒有道理不選它。
$.ajax是對ajax最基礎的封裝,來看一個簡單例子
$.ajax({
type : "post", //提交方式
url : "${pageContext.request.contextPath}/operation",//接口url
data : {
"name" : "${name}" //交互數據
"other" : $("#other").val()
},
success : function(result) {//返回數據根據結果進行相應的處理
if ( result.success ) {
alert("操作成功");
} else {
alert("操作失敗");
}
}
});
關鍵參數介紹:
method:數據的提交方式
url:數據的提交url
async:是否支持異步刷新,默認是true
data:需要提交的數據
dataType:服務器返回數據的類型,例如xml,String,Json等
success:請求成功后的回調函數
error:請求失敗后的回調函數
四、常用請求類型介紹
multipart/form-data類型主要是上傳文件時用到;
application/x-www-form-urlencoded類型主要是提交k-v時用到,當然這種方法也可以將json設置在v中提交json數據;
application/json類型主要是傳遞json數據用到,層次比較深的數據;
五、常見響應狀態碼介紹
100:客戶必須繼續發出請求
101:客戶要求服務器根據請求轉換HTTP協議版本
200:請求成功 201:提示知道新文件的URL
202:接受和處理、但處理未完成
203:返回信息不確定或不完整
204:請求收到,但返回信息為空
205:服務器完成了請求,用戶代理必須復位當前已經瀏覽過的文件
206:服務器已經完成了部分用戶的GET請求
300:請求的資源可在多處得到
301:刪除請求數據
302:在其他地址發現了請求數據
303:建議客戶訪問其他URL或訪問方式
304:客戶端已經執行了GET,但文件未變化
305:請求的資源必須從服務器指定的地址得到
306:前一版本HTTP中使用的代碼,現行版本中不再使用
307:申明請求的資源臨時性刪除
400:錯誤請求,如語法錯誤
401:請求授權失敗
402:保留有效ChargeTo頭響應
403:請求不允許
404:沒有發現文件、查詢或URl
405:用戶在Request-Line字段定義的方法不允許
406:根據用戶發送的Accept拖,請求資源不可訪問
407:類似401,用戶必須首先在代理服務器上得到授權
408:客戶端沒有在用戶指定的時間內完成請求
409:對當前資源狀態,請求不能完成
410:服務器上不再有此資源且無進一步的參考地址
411:服務器拒絕用戶定義的Content-Length屬性請求
412:一個或多個請求頭字段在當前請求中錯誤
413:請求的資源大於服務器允許的大小
414:請求的資源URL長於服務器允許的長度
415:請求資源不支持請求項目格式
416:請求中包含Range請求頭字段,在當前請求資源范圍內沒有range指示值,請求也不包含If-Range請求頭字段
417:服務器不滿足請求Expect頭字段指定的期望值,如果是代理服務器,可能是下一級服務器不能滿足請求
500:服務器產生內部錯誤