AJAX
AJAX是什么???
Asynchronous JavaScript & XML(js請求XML異步的技術(shù))。
是網(wǎng)頁i開發(fā)的一種技術(shù)。
作用就是用于異步,異步發(fā)送 & 請求數(shù)據(jù)。
不需要重新刷新當(dāng)前頁面。
目前更多使用JSON數(shù)據(jù)格式。
AJAX工作流程
下圖表示為AJAX的工作流程:

????客戶端用于發(fā)送請求,服務(wù)器用于將客戶端所請求的東西響應(yīng)給客戶端??蛻舳送ㄟ^XMLHttpRequest對象和服務(wù)器進行對接,對接過程中會有對應(yīng)的狀態(tài)碼和請求碼。如果和服務(wù)器已經(jīng)連接成功,那么服務(wù)器會以XML或者JSON這樣的數(shù)據(jù)格式來返回,返回時先返回到代碼里,此時會得到HTML Response響應(yīng)數(shù)據(jù),針對該響應(yīng)數(shù)據(jù)放到對應(yīng)的文檔中。
XMLHttpRequest對象
它其實是一個對象類型的API。
是在瀏覽器環(huán)境下使用的。
用于客戶端和服務(wù)端之間的數(shù)據(jù)的傳輸和接收。
用于請求XML數(shù)據(jù)以及JSON,甚至是純文本text。
關(guān)于JS獲取元素
getElementById()
GetElementById()可以訪問Document中的某一特定元素,可以通過ID來取得元素,所只能訪問設(shè)置了ID的元素。
<div id="docid"></div>
此時可以用getElementById("docid")來獲取這個元素。
getElementsByName()
getElementsByname()可以通過name來獲得元素。因為name可以重復(fù)所以此處是elements。如果一個文檔中有兩個以上的標簽name相同,那么getElementsByname()可以取得這些元素組成一個數(shù)組。
<div name="docname" id="docid1"></div>
<div name="docname" id="docid2"></id>
此時可以用getElementsByname("docname")來獲得著兩個div,getElementsByname("docname")[0]訪問第一個div,getElementsByname("docname")[1]訪問第二個div。
getElementsByTagName()
getElementsByTagName()通過TagName,即標簽名稱來獲得元素,因為一個document中會有相同的標簽,所以這里也是elements。
<body>
<div name="docname" id="docid1" onClick="bgcolor()"></div>
<div name="docname" id="docid2" onClick="bgcolor()"></div>
</body>
</html>
<script language="JavaScript" type="text/JavaScript">
<!--
function bgcolor(){
var docnObj=document.getElementsByTagName("div");
docnObj[0].style.backgroundColor = "black";
docnObj[1].style.backgroundColor = "black";
}
-->
</script>
這里可以用getElementsByTagName("div")來訪問,用getElementsByTagName("div")[0]訪問第一個div,getElementsByTagName("div")[1]訪問第二個div。
下面是總結(jié)~
訪問某一個特定元素時可以使用getElementById(),訪問標簽時使用getElementsByTagName(),但要注意的是IE瀏覽器并不支持這種方式。