AJAX其實(shí)只是一種概念,如果想把AJAX掌握熟練,javascript無(wú)疑才是最重要的,掌握好javascript并且合理利用jquery,常用的操作就夠了。 Ajax: 無(wú)刷新技術(shù)。 全稱為 “Asynchronous JavaScript and XML” (異步 JavaScript 和 XML ),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù) . 傳統(tǒng)的 web 應(yīng)用程序: jsp 向 jsp 和 servlet 發(fā)出請(qǐng)求 — 轉(zhuǎn)發(fā)到 jsp 。 存在著請(qǐng)求 -------- 響應(yīng)---接收的過(guò)程。而Ajax則是以響應(yīng)傳遞給請(qǐng)求. Ajax 的六大步驟: 1 //創(chuàng)建XMLHttpRequest對(duì)象實(shí)例
var xmlHttp;
function createXMLHttpRequest(){ if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); }else if (window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } xmlHttp.onreadystatechange=
function(){ if (xmlHttp.readyState == 4) { var text; if (xmlHttp.status == 200) { text = xmlHttp.responseText; document.getElementById("userIdValidate").innerHTML = text; }else{ alert("請(qǐng)求失敗"+xmlHttp.status); } } }; 3 http_request.open('GET', url, true);//// 確定發(fā)送請(qǐng)求的方式和URL以及是否同步執(zhí)行下段代碼 4 http_request.send(null);//發(fā)送請(qǐng)求 5 回調(diào)函數(shù)處理,更新本頁(yè)面局部數(shù)據(jù)
Ajax 是作用: 1.數(shù)據(jù)校驗(yàn) 2.聯(lián)動(dòng)下拉框 3.樹(shù)形菜單 4.及時(shí)信息 1.全稱:Asynchronized JavaScript and Xml 異步JavaScript和XML 2.異步的概念:在同一頁(yè)面中,只提交了改動(dòng)的部分,而別的部分并不提交,可以繼續(xù)操作 3.異步的主要特征:局部刷新,所謂的局部刷新就是:向服務(wù)器提交請(qǐng)求,不需要重新刷新頁(yè)面
Ajax的執(zhí)行流程: 1.發(fā)出一個(gè)Http請(qǐng)求:通過(guò)XMLHttpRequest對(duì)象發(fā)送,在生成XMLHttpRequest對(duì)象時(shí),要注意區(qū)分瀏覽器的類型(IE和非IE) 2.聲明回調(diào)函數(shù):即:指定當(dāng)服務(wù)器為你的請(qǐng)求作出相應(yīng)后,有哪個(gè)javaScript函數(shù)來(lái)處理這個(gè)響應(yīng) 3.打開(kāi)請(qǐng)求:http_request.open("GET/POST", url, true/false); 4.發(fā)送請(qǐng)求:http_request.send(parm); 5.接受響應(yīng):由第二步中所指定的回調(diào)函數(shù)來(lái)接受 6.處理響應(yīng)數(shù)據(jù): 1)responseText:作為文本串返回 2)responseXML:作為Xml文件返回 從這點(diǎn)可以看出來(lái)Ajax的一個(gè)最大的缺點(diǎn):Ajax接受的響應(yīng)都是"文本類型"的,需要對(duì)其進(jìn)行解析,耗費(fèi)大量的時(shí)間和帶寬, 當(dāng)響應(yīng)所返回的數(shù)據(jù)比較大時(shí),會(huì)嚴(yán)重的影響速度,因此,在這種情況下,最好不要使用Ajax
Ajax優(yōu)缺點(diǎn) AJAX是優(yōu)點(diǎn): 1 增加用戶體驗(yàn)。 2. 無(wú)需刷新。 AJAX是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù).它是通過(guò)JavaScript來(lái)通過(guò)一個(gè)事件來(lái)發(fā)送http請(qǐng)求,只對(duì)當(dāng)前的界面進(jìn)行一部分 的更新,并沒(méi)有全部的載入頁(yè)面,因?yàn)橛泻艽笠徊糠值膬?nèi)容是相同的,并不需要全部載入,所以從服務(wù)器上的取出所需要的數(shù)據(jù)是個(gè)很 好的辦法,并且用戶它要的是顯示速度夠快,注重的視覺(jué)上的效果,并不關(guān)心底層的實(shí)現(xiàn),所以對(duì)用戶的交互大大加強(qiáng)。
Ajax的缺點(diǎn): 1.它可能破壞瀏覽器后退按鈕的正常行為。如用戶通常都希望單擊后退按鈕,就能夠取消他們的前一次操作,但是在Ajax應(yīng)用程序中,卻無(wú)法這樣做。 2.查詢返回大量的數(shù)據(jù)的時(shí)候不適宜用ajax(ajax不適合傳輸大量數(shù)據(jù)) 3.它從服務(wù)器端傳過(guò)來(lái)的是一個(gè)字符串或是一個(gè)xml文件所包裝的數(shù)據(jù),這樣大數(shù)據(jù)的傳輸它肯定不行,因?yàn)閷?duì)xml文件的解析也同樣會(huì)花大量的時(shí)間。 |
|