AJAX--XMLHttpRequest

1.AJAX  Asynchronous JavaScript and XML

   是一種在無需刷新頁面的狀況下,經過在後臺與服務器進行數據交換javascript

更新部分網頁內容的技術。html

2.工做原理

  使用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")函數

3.使用
<!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請求

POST 方法傳送參數 

setRequestHeader(name, value)

name參數是要設置的頭部的名稱。這個參數不該該包括空白、冒號或換行

value 參數是頭部的值。這個參數不該該包括換行。

在調用了 open() 以後,但在調用 send() 以前。

4.響應

responseText 服務器響應的文本內容

responseXML  服務器響應的XML內容對應的DOM對象 

5.狀態 

onreadystatechange  請求狀態改變的事件觸發器(readyState變化時會調用這個屬性上註冊的javascript函數)

readyState   表示XMLHttpRequest對象的狀態:

             0:未初始化。對象已建立,未調用open;

             1:open方法成功調用,但Sendf方法未調用;

             2:send方法已經調用,還沒有開始接受數據;

             3:正在接受數據。Http響應頭信息已經接受,但還沒有接收完成;

             4:完成,即響應數據接受完成。

Status     服務器返回的http狀態碼。200表示「成功」,404表示「未找到」,500表示「服務器內部錯誤」等。    

相關文章
相關標籤/搜索