AJAX基礎(chǔ)

1.AJAX 簡介:
AJAX = Asynchronous JavaScript and XML(異步的 JavaScriptXML)。
AJAX 不是新的編程語言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。
AJAX 是與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術(shù),在不重新加載整個頁面的情況下。

2.什么是 AJAX ?
AJAX = 異步 JavaScriptXML。
AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。
通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。
傳統(tǒng)的網(wǎng)頁(不使用AJAX)如果需要更新內(nèi)容,必需重載整個網(wǎng)頁面。

3.AJAX是基于現(xiàn)有的Internet標(biāo)準(zhǔn)
AJAX是基于現(xiàn)有的Internet標(biāo)準(zhǔn),并且聯(lián)合使用它們:
XMLHttpRequest 對象 (異步的與服務(wù)器交換數(shù)據(jù))
JavaScript/DOM (信息顯示/交互)
CSS (給數(shù)據(jù)定義樣式)
XML (作為轉(zhuǎn)換數(shù)據(jù)的格式)

AJAX應(yīng)用程序與瀏覽器和平臺無關(guān)的!

4.在 2005 年,Google 通過其 Google Suggest 使 AJAX 變得流行起來。
Google Suggest 使用AJAX創(chuàng)造出動態(tài)性極強(qiáng)的web 界面:當(dāng)您在谷歌的搜索框輸入關(guān)鍵字時,avaScript 會把這些字符發(fā)送到服務(wù)器,然后服務(wù)器會返回一個搜索建議的列表。

5.AJAX - 創(chuàng)建 XMLHttpRequest 對象
XMLHttpRequestAJAX 的基礎(chǔ)。

所有現(xiàn)代瀏覽器均支持XMLHttpRequest對象(IE5IE6 使用 ActiveXObject)。
XMLHttpRequest用于在后臺與服務(wù)器交換數(shù)據(jù)。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。

6.AJAX - 向服務(wù)器發(fā)送請求請求
XMLHttpRequest 對象用于和服務(wù)器交換數(shù)據(jù)。

如需將請求發(fā)送到服務(wù)器,我們使用XMLHttpRequest對象的 open()send()方法:
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();

open(*method*,*url*,*async*);

規(guī)定請求的類型、URL 以及是否異步處理請求。
method:請求的類型;GETPOST
url:文件在服務(wù)器上的位置
asynctrue(異步)或false(同步)

send(string)
將請求發(fā)送到服務(wù)器。
string:僅用于POST 請求

7.GET 還是 POST?
POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。
然而,在以下情況中,請使用POST 請求:
無法使用緩存文件(更新服務(wù)器上的文件或數(shù)據(jù)庫)
向服務(wù)器發(fā)送大量數(shù)據(jù)(POST沒有數(shù)據(jù)量限制)
發(fā)送包含未知字符的用戶輸入時,POSTGET 更穩(wěn)定也更可靠

8.ASP = Active Server Pages

9.AJAX - 服務(wù)器 響應(yīng)

如需獲得來自服務(wù)器的響應(yīng),請使用XMLHttpRequest 對象的 responseText(獲得字符串形式的響應(yīng)數(shù)據(jù)。) 或 responseXML 屬性。(獲得 XML形式的響應(yīng)數(shù)據(jù)。)

responseXML 屬性

xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++) {
txt=txt + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("myDiv").innerHTML=txt;

10.AJAX - onreadystatechange 事件

onreadystatechange 事件
當(dāng)請求被發(fā)送到服務(wù)器時,我們需要執(zhí)行一些基于響應(yīng)的任務(wù)。
每當(dāng) readyState改變時,就會觸發(fā)onreadystatechange事件。
readyState屬性存有 XMLHttpRequest 的狀態(tài)信息。

readyState:
存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。
0: 請求未初始化
1: 服務(wù)器連接已建立
2: 請求已接收
3: 請求處理中
4: 請求已完成,且響應(yīng)已就緒

status:
200: "OK"
404: 未找到頁面

11.AJAX ASP/PHP 實(shí)例

AJAX用于創(chuàng)造動態(tài)性更強(qiáng)的應(yīng)用程序。

"onkeyup"事件:在一個input type = ‘text’ 輸入的時候,暫停輸入 就會執(zhí)行onkeyup事件

格式:
ASP:<% ... %>
PHP:<? ... ?>

12.AJAX Database 實(shí)例

AJAX可用來與數(shù)據(jù)庫進(jìn)行動態(tài)通信。

13.ajax的GET方法的數(shù)據(jù)必須在data里面?zhèn)鬏?,不能直接就在url參數(shù)中去寫。

$.ajax({
    
        type:'get',
        url:'/app01/index2/',
        data:params,
        success:success_func,
    })
    
    function success_func(){
    
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容