非常教程

ASP参考手册

ASP – AJAX 与 ASP

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 文件

上面这段通过 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 – AJAX 与 ASP

ASP目录

1.ASP 简介
2.ASP 教程
3.在自己的 PC 上运行 ASP
4.ASP Session 对象
5.ASP Cookies
6.ASP 表单
7.ASP 程序
8.ASP 变量
9.ASP 语法
10.ASP Session 对象
11.ASP Application 对象
12.ASP Request 对象
13.ASP Response 对象
14.ASP 使用 CDOSYS 发送电子邮件
15.ASP Global.asa
16.ASP 引用文件
17.ASP Application 对象
18.ASP ASPError 对象
19.ASP Server 对象
20.ASP FileSystem 对象
21.ASP ADO
22.ASP Dictionary 对象
23.ASP Folder 对象
24.ASP File 对象
25.ASP Drive 对象
26.ASP TextStream 对象
27.ASP Content Linking
28.ASP Browser Capabilities
29.ASP AdRotator
30.ASP 实例
31.ASP 总结
32.ASP 快速参考
33.AJAX 数据库
34.ASP – AJAX 与 ASP
35.ASP Charset 属性
36.ASP CacheControl 属性
37.ASP Buffer 属性
38.ASP Cookies 集合
39.ASP Clear 方法
40.ASP BinaryWrite 方法
41.ASP AppendToLog 方法
42.ASP AddHeader 方法
43.ASP Status 属性
44.ASP Pics 属性
45.ASP IsClientConnected 属性
46.ASP ExpiresAbsolute 属性
47.ASP Expires 属性
48.ASP ContentType 属性
49.ASP BinaryRead 方法
50.ASP TotalBytes 属性
51.ASP ServerVariables 集合
52.ASP QueryString 集合
53.ASP Form 集合
54.ASP Cookies 集合
55.ASP Write 方法
56.ASP Redirect 方法
57.ASP Flush 方法
58.ASP End 方法
59.ASP LCID 属性
60.ASP CodePage 属性
61.ASP StaticObjects 集合
62.ASP Contents 集合
63.ASP Application_OnStart 和 Application_OnEnd 事件
64.ASP Lock 和 Unlock 方法
65.ASP Contents.RemoveAll 方法
66.ASP Contents.Remove 方法
67.ASP StaticObjects 集合
68.ASP Contents 集合
69.ASP GetLastError 方法
70.ASP Execute 方法
71.ASP CreateObject 方法
72.ASP ScriptTimeout 属性
73.ASP Session_OnStart 和 Session_OnEnd 事件
74.ASP Contents.RemoveAll 方法
75.ASP Contents.Remove 方法
76.ASP Abandon 方法
77.ASP Timeout 属性
78.ASP SessionID 属性
79.ASP CreateFolder 方法
80.ASP CopyFolder 方法
81.ASP CopyFile 方法
82.ASP BuildPath 方法
83.ASP Drives 属性
84.ASP ASPError 对象的属性
85.ASP URLEncode 方法
86.ASP Transfer 方法
87.ASP MapPath 方法
88.ASP HTMLEncode 方法
89.ASP GetDriveName 方法
90.ASP GetDrive 方法
91.ASP GetBaseName 方法
92.ASP GetAbsolutePathName 方法
93.ASP FolderExists 方法
94.ASP FileExists 方法
95.ASP DriveExists 方法
96.ASP DeleteFolder 方法
97.ASP DeleteFile 方法
98.ASP CreateTextFile 方法
99.ASP OpenTextFile 方法
100.ASP MoveFolder 方法