當前位置:
首頁 > 知識 > ASP - AJAX 與 ASP

ASP - AJAX 與 ASP

AJAX 被用於創建交互性更強的應用程序。



AJAX ASP 實例

下面的實例將演示當用戶在輸入框中鍵入字元時,網頁如何與 Web 伺服器進行通信:

實例

Start typing a name in the input field below:

First name:

Suggestions:



實例解釋 - HTML 頁面

當用戶在上面的輸入框中鍵入字元時,會執行 "showHint()" 函數。該函數由 "onkeyup" 事件觸發:

<!DOCTYPE html>

<html>

<head>

<script>

function showHint(str)

{

if (str.length==0)

{

document.getElementById("txtHint").innerHTML="";

return;

}

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","gethint.asp?q="+str,true);

xmlhttp.send();

}

</script>

</head

<body>

<p><b>Start typing a name in the input field below:</b></p>

<form>

First name: <input type="text" onkeyup="showHint(this.value)" size="20">

</form>

<p>Suggestions: <span id="txtHint"></span></p>

</body>

</html>

源代碼解釋:

如果輸入框是空的(str.length==0),該函數會清空 txtHint 佔位符的內容,並退出該函數。

如果輸入框不是空的,那麼 showHint() 會執行以下步驟:

  • 創建 XMLHttpRequest 對象

  • 創建在伺服器響應就緒時執行的函數

  • 向伺服器上的文件發送請求

  • 請注意添加到 URL 末端的參數(q)(包含輸入框的內容)


ASP - AJAX 與 ASP

ASP 文件

上面這段通過 JavaScript 調用的伺服器頁面是名為 "gethint.asp" 的 ASP 文件。

"gethint.asp" 中的源代碼會檢查姓名數組,然後向瀏覽器返回對應的姓名:

<%

response.expires=-1

dim a(30)

"Fill up array with names

a(1)="Anna"

a(2)="Brittany"

a(3)="Cinderella"

a(4)="Diana"

a(5)="Eva"

a(6)="Fiona"

a(7)="Gunda"

a(8)="Hege"

a(9)="Inga"

a(10)="Johanna"

a(11)="Kitty"

a(12)="Linda"

a(13)="Nina"

a(14)="Ophelia"

a(15)="Petunia"

a(16)="Amanda"

a(17)="Raquel"

a(18)="Cindy"

a(19)="Doris"

a(20)="Eve"

a(21)="Evita"

a(22)="Sunniva"

a(23)="Tove"

a(24)="Unni"

a(25)="Violet"

a(26)="Liza"

a(27)="Elizabeth"

a(28)="Ellen"

a(29)="Wenche"

a(30)="Vicky"

"get the q parameter from URL

q=ucase(request.querystring("q"))

"lookup all hints from array if length of q>0

if len(q)>0 then

hint=""

for i=1 to 30

if q=ucase(mid(a(i),1,len(q))) then

if hint="" then

hint=a(i)

else

hint=hint & " , " & a(i)

end if

end if

next

end if

"Output "no suggestion" if no hint were found

"or output the correct values

if hint="" then

response.write("no suggestion")

else

response.write(hint)

end if

%>

解釋:如果 JavaScript 發送了任何文本(即 strlen($q) > 0),則會發生:

  1. 查找匹配 JavaScript 發送的字元的姓名

  2. 如果未找到匹配,則將響應字元串設置為 "no suggestion"

  3. 如果找到一個或多個匹配姓名,則用所有姓名設置響應字元串

  4. 把響應發送到 "txtHint" 佔位符

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

ASP Server 對象
ASP 匯總實例

TAG:程序員小新人學習 |