2016-08-20 分類: 網(wǎng)站建設(shè)
AJAX在傳統(tǒng)的JavaScript代碼,如果你想從數(shù)據(jù)庫(kù)或服務(wù)器上的文件中獲取的任何信息,或發(fā)送用戶信息到服務(wù)器,你將不得不做出一個(gè)HTML表單和GET或POST數(shù)據(jù)到服務(wù)器。用戶必須單擊“提交”按鈕發(fā)送/獲取信息,等待服務(wù)器響應(yīng),然后新的一頁(yè),將負(fù)載與結(jié)果。
因?yàn)榉?wù)器返回一個(gè)新的頁(yè)面,每次用戶提交輸入,傳統(tǒng)的Web應(yīng)用程序可以運(yùn)行緩慢,往往不太友好。使用AJAX,JavaScript直接與服務(wù)器進(jìn)行通信,通過(guò)JavaScript的XMLHttpRequest對(duì)象。
通過(guò)一個(gè)HTTP請(qǐng)求,頁(yè)面可以請(qǐng)求,從服務(wù)器獲得響應(yīng),無(wú)需重新加載頁(yè)面。用戶會(huì)停留在相同的頁(yè)面上,他或她不會(huì)注意到腳本請(qǐng)求頁(yè)面,或者在后臺(tái)發(fā)送數(shù)據(jù)至服務(wù)器。
這張照片是一個(gè)簡(jiǎn)單的介紹了Ajax的工作原理:
用戶發(fā)送一個(gè)請(qǐng)求,執(zhí)行一個(gè)動(dòng)作和動(dòng)作的反應(yīng)顯示為一層,通過(guò)身份識(shí)別,無(wú)需重新加載整個(gè)頁(yè)面。比如用這個(gè)ID層:
< / DIV >
在接下來(lái)的步驟中我們將看到如何創(chuàng)建一個(gè)XMLHttpRequest和從服務(wù)器接收響應(yīng)。
1。創(chuàng)建XMLHttpRequest
不同的瀏覽器使用不同的方法來(lái)創(chuàng)建XMLHttpRequest對(duì)象。Internet Explorer使用ActiveX對(duì)象,而其他的瀏覽器使用內(nèi)置的JavaScript的XMLHttpRequest對(duì)象。
創(chuàng)建這個(gè)對(duì)象,并處理不同的瀏覽器,我們將使用一個(gè)“抓住”的聲明。
功能ajaxfunction()
{
VaR技術(shù);
試用
{
/ / Firefox,Opera 8 +,Safari
XMLHTTP =新xmlhttprequest();
}
趕上(E)
{
/ / Internet Explorer
試用
{
XMLHTTP =新的ActiveX對(duì)象(“MSXML2. XMLHTTP”);
}
趕上(E)
{
試用
{
XMLHTTP =新的ActiveX對(duì)象(“微軟。XMLHTTP”);
}
趕上(E)
{
警報(bào)(“您的瀏覽器不支持Ajax!“);
返回false;
}
}
}
2。發(fā)送請(qǐng)求到服務(wù)器
送一個(gè)請(qǐng)求給服務(wù)器,我們使用open()法和send()方法。
方法以三個(gè)參數(shù)的open()。第一個(gè)參數(shù)定義了發(fā)送請(qǐng)求時(shí)使用的方法(GET或POST)。第二個(gè)參數(shù)指定服務(wù)器端腳本的URL。第三個(gè)參數(shù)指定異步處理的請(qǐng)求。的send()方法發(fā)送請(qǐng)求到服務(wù)器。
XMLHTTP。打開(kāi)(“得到”,“asp”,真的);
XMLHTTP發(fā)送(空);
3。編寫(xiě)服務(wù)器端腳本
responseText將存儲(chǔ)從服務(wù)器返回的數(shù)據(jù)。在這里,我們要返回當(dāng)前時(shí)間。在“時(shí)間的代碼。ASP”看起來(lái)像這樣:
< %
響應(yīng)。到期= - 1
寫(xiě)(時(shí)間)的反應(yīng)。
%>
4。消費(fèi)的響應(yīng)
現(xiàn)在我們需要消耗響應(yīng)接收并顯示給用戶。
XMLHTTP onreadystatechange = function()。
{
如果(XMLHTTP。發(fā)生= 4)
{
以下是我參考網(wǎng)上的文檔。。時(shí)間。值= xmlHttp.responseText;
}
}
XMLHTTP。打開(kāi)(“得到”,“asp”,真的);
XMLHTTP發(fā)送(空);
}
5。完整的代碼
現(xiàn)在我們必須決定什么時(shí)候應(yīng)該執(zhí)行Ajax功能。我們將讓函數(shù)運(yùn)行的“幕后”當(dāng)用戶名文本字段的用戶類型的東西。完整的代碼看起來(lái)像這樣:
<
<魚(yú)>
<腳本type=“text/javascript”>
功能ajaxfunction()
{
VaR技術(shù);
試用
{
/ / Firefox,Opera 8 +,Safari
XMLHTTP =新xmlhttprequest();
}
趕上(E)
{
/ / Internet Explorer
試用
{
XMLHTTP =新的ActiveX對(duì)象(“MSXML2. XMLHTTP”);
}
趕上(E)
{
試用
{
XMLHTTP =新的ActiveX對(duì)象(“微軟。XMLHTTP”);
}
趕上(E)
{
警報(bào)(“您的瀏覽器不支持Ajax!“);
返回false;
}
}
}
XMLHTTP onreadystatechange = function()。
{
如果(XMLHTTP。發(fā)生= 4)
{
以下是我參考網(wǎng)上的文檔。。時(shí)間。值= xmlHttp.responseText;
}
}
XMLHTTP。打開(kāi)(“得到”,“asp”,真的);
XMLHTTP發(fā)送(空);
}
< /腳本>
<表名稱=“以下是我參考網(wǎng)上“>
名稱:<輸入類型為“文本”
onkeyup =“ajaxfunction();”name=“用戶名”/>
時(shí)間:<輸入類型“文本”name=“時(shí)間”/>
<形式>
<體>
< / HTML >
創(chuàng)新互聯(lián)設(shè)計(jì)文章推薦:
網(wǎng)站題目:AJAX如何工作
文章URL:http://www.rwnh.cn/news8/21008.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站建設(shè)、網(wǎng)站制作、域名注冊(cè)、服務(wù)器托管、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容