//第三個參數是true或false,表示請求是以異步仍是同步的模式發出。(默認爲true,通常不建議爲false)
function ajax(url, success, fail){
// 1. 建立鏈接
var xhr = null;
xhr = new XMLHttpRequest()
// 2. 鏈接服務器
xhr.open('get', url, true)
// 3. 發送請求
xhr.send(null);
// 4. 接受請求
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
success(xhr.responseText);
} else { // fail
fail && fail(xhr.status);
}
}
}
}
複製代碼
0 - (未初始化)尚未調用send()方法javascript
1 - (載入)已調用send()方法,正在發送請求java
2 - (載入完成)send()方法執行完成ajax
3 - (交互)正在解析響應內容服務器
4 - (完成)響應內容解析完成,能夠在客戶端調用了異步
1xx:信息響應類,表示接收到請求而且繼續處理url
2xx:處理成功響應類,表示動做被成功接收、理解和接受spa
3xx:重定向響應類,爲了完成指定的動做,必須接受進一步處理code
4xx:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行ip
5xx:服務端錯誤,服務器不能正確執行一個正確的請求get