1. 使用XMLHttpRequest擷取資料:open()和send() open(method,url,anync)
method:get/post. url:接受資料的地址 anync:提交方式,true表示非同步/false表示同步 send(string)
如果提交方式是get,string=null 如果提交方式是post,string=需要發送的資訊
//補充//設定HTTP頭資訊,必須放在open和send之間。request.setRequestHeader('');////
2.XMLHttpREquset取得響應
responseText |
獲得以字串形式返回的響應資料 |
responseXML |
獲得以XML形式返回的響應資料 |
stastus和statusText |
以數字和文本形式返回HTTP狀態代碼 |
getAllResponseHeader |
獲得所有響應前序 |
getResponseHeader |
查詢響應中某個欄位的值 |
readyStatus屬性
4 |
請求已完成且響應已就緒 |
0 |
請求還未初始化,open還未調用 |
1 |
伺服器已建立連結,open已調用 |
2 |
請求已經接收,接收到頭資訊 |
3 |
請求處理中,接收到響應主體 |
樣本
//發送請求並處理 --js--//使用GET方式提交,執行非同步提交到server.phpfunction(){ var request=new XMLHttpRequest(); request.open("GET","server.php",true); request.send(); //通過onreadystatuschange事件驗證 request.onreadystatechange=function(){ if(request.readyStatus===4&&request.status===200) { //如果請求成功,則進行這部分操作 }else{ alert("發生錯誤"+request.readyStatus); } }}
//增加、修改 --js--//使用POST方式提交,執行非同步提交到server.phpfunction(){ var request=new XMLHttpRequest(); request.open("POST","server.php",true); //假設從表單中擷取資料 var data="name="+document.getElementById('name').value +"&age="+document.getElementById('age').value; //設定HTTP頭資訊 request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //post方式下提交資訊 request.send(data); //通過onreadystatuschange事件驗證 request.onreadystatechange=function(){ if(request.readyStatus===4&&request.status===200) { //如果請求成功,則進行這部分操作 }else{ alert("發生錯誤"+request.readyStatus); } }}