AJAX的學習總結

                                              AJAX學習總結

學習任務

  1. AJAX的主要作用/目的

  2. 實現原理

  3. 工作步驟

  4. XMLHttPRequest對象

  5. 實例AJAX的一般步驟

 

AJAX的主要作用/目的 

AJAX,我們都知道它的主要作用是異步傳輸,那什麼叫異步傳輸呢?

異步傳輸是 通過在後臺與服務器進行少量數據交換,使網頁實現局部刷新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。以前的時候,瀏覽器與服務器之間的交互,都是客戶端重新發送請求,服務器響應請求,響應的是整個頁面。可能我們只是改了頁面的很小一部分,其他都沒變,但是服務器依然會給我們發送一個新的應答。導致客戶端上的與服務器發來的有相關多的一部分是重複的。但是AJAX可以使我們局部刷新,使服務器給我們發我們需要的那部分。

那爲什麼它可以實現局部刷新呢?

這個問題我們放到結尾來回答。

實現原理

瀏覽器訪問服務器時,標準的請求響應時,瀏覽器的動作是同步操作。如瀏覽器請求某地址。

 

 

工作步驟

AJAX

  1. 第一步瀏覽器中觸發某個事件,創建XMLHttpRequest對象。
  2. 通過這個對象來向服務器發送請求。
  3. 服務器接收到該請求後,處理該請求,向瀏覽器做出回覆。
  4. 瀏覽器中通過js代碼來局部修改頁面內容。

XMLHttPRequest對象

瞭解AJAX的小夥伴們,會發現在AJAX異步傳輸的過程中有一個對象至關重要且始終存在,它就是XMLHTTPRequest,下面我沒來詳細瞭解一下這個對象

XMLHttpRequest 用於在後臺與服務器交換數據。沒有它的存在,將不會有異步傳輸。

  1. 通過var  xmlhttp = new  XMLHttpRequest();來創建該對象。
  2. xmlhttp.onreadystatechange=function(){      執行  接受服務器響應和對服務器響應做出操作},該對象的onreadystatechange方法中,每當 readyState 改變時,就會觸發 onreadystatechange 事件。readyState的值表示此次請求的狀態信息,也就是XMLHttpRequest對象的狀態信息。
  3. xmlhttp.open("GET/POST","URL",true);open()方法用來設置該請求的一些信息,第一個參數是請求類型(GET/POST),第二個參數是服務器目標文件的地址。第三個參數是,是否執行AJAX異步。
  4. xmlhttp.send();用來發送該請求。

 

實例AJAX的一般步驟

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
			document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
		}
	}
	xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
	xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h1>哈哈哈哈</h1></div>
<button type="button" onclick="loadXMLDoc()">AJAX傳值</button>

</body>
</html>

現在來解決開頭的那個問題,爲什麼AJAX可以實現局部刷新呢?

  1. js可以獲取網頁中個元素的對象,然後修改它們
  2. 服務器的響應通過js來截斷。然後通過js來實現網頁的局部刷新

所以說AJAX是依託於js的,爲什麼ajax放在js代碼中,就是因爲js的這種局部修改的特殊性。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章