今天 我簡單瞭解了一下Ajax 一些不是很清楚的地方我記了下來 之後還會補充。html
AJAX 不是新的編程語言,而是一種使用現有標準的新方法。ajax
AJAX 最大的優勢是在不從新加載整個頁面的狀況下,能夠與服務器交換數據並更新部分網頁內容。編程
AJAX 不須要任何瀏覽器插件,但須要用戶容許JavaScript在瀏覽器上執行。瀏覽器
運用XHTML+CSS來表達資訊;服務器
運用JavaScript操做DOM(Document Object Model)來執行動態效果;異步
運用XML和XSLT操做資料;編程語言
運用XMLHttpRequest或新的Fetch API與網頁服務器進行異步資料交換;spa
注意:AJAX與Flash、Silverlight和Java Applet等RIA技術是有區分的。插件
AJAX = 異步 JavaScript 和 XML。code
AJAX 是一種用於建立快速動態網頁的技術。
經過在後臺與服務器進行少許數據交換,AJAX 能夠使網頁實現異步更新。這意味着能夠在不從新加載整個網頁的狀況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)若是須要更新內容,必需重載整個網頁面。
有不少使用 AJAX 的應用程序案例:新浪微博、Google 地圖、開心網等等。
XMLHttpRequest 是 AJAX 的基礎。
全部現代瀏覽器均支持 XMLHttpRequest 對象(IE5 和 IE6 使用 ActiveXObject)。
XMLHttpRequest 用於在後臺與服務器交換數據。這意味着能夠在不從新加載整個網頁的狀況下,對網頁的某部分進行更新。
全部現代瀏覽器(IE7+、Firefox、Chrome、Safari 以及 Opera)均內建 XMLHttpRequest 對象。
建立 XMLHttpRequest 對象的語法:
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 對象:
爲了應對全部的現代瀏覽器,包括 IE5 和 IE6,請檢查瀏覽器是否支持 XMLHttpRequest 對象。若是支持,則建立 XMLHttpRequest 對象。若是不支持,則建立 ActiveXObject :
實例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) { // 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>