是一種在無需刷新頁面的狀況下,經過在後臺與服務器進行數據交換javascript
更新部分網頁內容的技術。html
使用XMLHttpRequest對象 發起請求java
建立XMLHttpRequest瀏覽器
全部現代瀏覽器(IE7+、Firefox、Chrome、Safari 以及 Opera)均內建 XMLHttpRequest 對象。服務器
var request = new XMLHttpRequest();異步
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 對象:async
var request = new ActiveXOject("Microsoft.XMLHTTP")函數
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script > window.onload= function(){ var request; if(window.XMLHttpRequest){ request = new XMLHttpRequest(); }else{ request = new ActiveXObject("Microsoft.XMLHttp"); } request.onreadystatechange=function(){ if(request.readyState == 4){ if(request.status == 200){ console.log(request.responseText) } } } request.open("GET","/test/test"); request.send(); } </script> </head> <body> default默認 </body> </html>
XMLHttpRequest 方法url
open(method,url,async) method :請求類型 "GET" "POST"spa
url:請求路徑
async:是否異步 true(異步)或false(同步) 默認true
send(parameters) 將請求發送到服務器。parameters僅用於POST請求
setRequestHeader(name, value)
name參數是要設置的頭部的名稱。這個參數不該該包括空白、冒號或換行
value 參數是頭部的值。這個參數不該該包括換行。
在調用了 open() 以後,但在調用 send() 以前。
responseText 服務器響應的文本內容
responseXML 服務器響應的XML內容對應的DOM對象
onreadystatechange 請求狀態改變的事件觸發器(readyState變化時會調用這個屬性上註冊的javascript函數)
readyState 表示XMLHttpRequest對象的狀態:
0:未初始化。對象已建立,未調用open;
1:open方法成功調用,但Sendf方法未調用;
2:send方法已經調用,還沒有開始接受數據;
3:正在接受數據。Http響應頭信息已經接受,但還沒有接收完成;
4:完成,即響應數據接受完成。
Status 服務器返回的http狀態碼。200表示「成功」,404表示「未找到」,500表示「服務器內部錯誤」等。