今天 我简单了解了一下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>