1. 程式人生 > >JQuery快速入門-Ajax

JQuery快速入門-Ajax

post alt 局部變量 獲取數據 strong utf-8 廣泛 brush send

一、AJAX概述

概念:AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。

優點:通過在後臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

   AJAX 不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執行。

   傳統的網頁(不使用 AJAX)如果需要更新內容,必需重載整個網頁面。

使用廣泛:有很多使用 AJAX 的應用程序案例:新浪微博、Google 地圖、開心網等等。

二、AJAX工作原理

技術分享圖片

三、AJAX應用

例子1:使用ajax修改html文本

技術分享圖片技術分享圖片

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
	var xmlhttp;  //定義局部變量xmlhttp
	if (window.XMLHttpRequest) //XMLHttpRequet對象用於和服務器交互數據。
	{
		//  IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執行代碼
		xmlhttp=new XMLHttpRequest();
	}
	else
	{
		// IE6, IE5 瀏覽器執行代碼
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	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"><h2>使用 AJAX 修改該文本內容</h2></div>
<button type="button" onclick="loadXMLDoc()">修改內容</button>

</body>
</html>

  

整體流程:

1、點擊按鈕‘修改內容’,則會加載loadXMLDoc()函數;

2、loadXMLDoc()函數的內容:

  定義局部變量xmlhttp對象,用於和服務器交互數據。

  如果向服務器請求完成,且服務器響應已就緒時,進行如下操作:

    1、設定操作。(本例設定修改id=‘myDiv‘的元素的內容。)

    2、準備數據;(獲取數據的方法、url、是否異步)

    3、發送數據。(將數據發送給服務器)

註意:

1、獲取數據的方法采用:GET還是POST?

與 POST 相比,GET 更簡單也更快,並且在大部分情況下都能用。

然而,在以下情況中,請使用 POST 請求:

  • 無法使用緩存文件(更新服務器上的文件或數據庫)
  • 向服務器發送大量數據(POST 沒有數據量限制)
  • 發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠

2、發送數據時,使用同步還是異步?

  當您使用 async=false 時,請不要編寫 onreadystatechange 函數 - 把代碼放到 send() 語句後面即可:

JQuery快速入門-Ajax