目录 搜索
ASP 基础教程 在自己的 PC 上运行 ASP ASP 基本语法规则 ASP 变量 ASP 子程序 ASP 表单和用户输入 ASP Cookies ASP Session 对象 ASP Application 对象 ASP 引用文件 ASP Global.asa 文件 ASP 使用 CDOSYS 发送电子邮件 ASP 对象 ASP Response 对象 ASP Cookies 集合 ASP Buffer 属性 ASP CacheControl 属性 ASP Charset 属性 ASP ContentType 属性 ASP Expires 属性 ASP ExpiresAbsolute 属性 ASP IsClientConnected 属性 ASP PICS 属性 ASP Status 属性 ASP AddHeader 方法 ASP AppendToLog 方法 ASP BinaryWrite 方法 ASP Clear 方法 ASP End 方法 ASP Flush 方法 ASP Redirect 方法 ASP Write 方法 ASP Request 对象 ASP Cookies 集合 ASP Form 集合 ASP QueryString 集合 ASP ServerVariables 集合 ASP 教程 ASP TotalBytes 属性 ASP BinaryRead 方法 ASP Application 对象 ASP Contents 集合 ASP StaticObjects 集合 ASP Contents.RemoveAll 方法 ASP Lock 和 Unlock 方法 ASP Application OnStart 和 Application OnEnd 事件 ASP Session 对象 ASP Contents 集合 ASP StaticObjects 集合 ASP CodePage 属性 ASP LCID 属性 ASP SessionID 属性 ASP Timeout 属性 ASP Abandon 方法 ASP Contents.Remove 方法 ASP Contents.RemoveAll 方法 ASP Session OnStart 和 Session OnEnd 事件 ASP ScriptTimeout 属性 ASP CreateObject 方法 ASP Execute 方法 ASP Server 对象 ASP GetLastError() 方法 (ASP 3.0) ASP HTMLEncode 方法 ASP MapPath 方法 ASP Transfer 方法 ASP URLEncode 方法 ASP ASPError 对象 ASP ASPError 对象的属性 ASP FileSystemObject 对象 ASP Drives 属性 ASP BuildPath 方法 ASP CopyFile 方法 ASP CopyFolder 方法 ASP CreateFolder 方法 ASP CreateTextFile 方法 ASP DeleteFile 方法 ASP DeleteFolder 方法 ASP DriveExists 方法 ASP FileExists 方法 ASP FolderExists 方法 ASP GetAbsolutePathName 方法 ASP GetBaseName 方法 ASP GetDrive 方法 ASP GetDriveName 方法 ASP GetExtensionName 方法 ASP GetFile 方法 ASP GetFileName 方法 ASP GetFolder 方法 ASP GetParentFolderName 方法 ASP GetSpecialFolder 方法 ASP GetTempName 方法 ASP MoveFile 方法 ASP MoveFolder 方法 ASP OpenTextFile 方法 ASP TextStream 对象 ASP AtEndOfLine 属性 ASP AtEndOfStream 属性 ASP Column 属性 ASP Line 属性 ASP Close 方法 ASP Read 方法 ASP ReadAll 方法 ASP ReadLine 方法 ASP Skip 方法 ASP SkipLine 方法 ASP Write 方法 ASP WriteLine 方法 ASP WriteBlankLines 方法 ASP Drive 对象 ASP AvailableSpace 属性 ASP DriveLetter 属性 ASP DriveType 属性 ASP FileSystem 属性 ASP FreeSpace 属性 ASP IsReady 属性 ASP Path 属性 ASP RootFolder 属性 ASP SerialNumber 属性 ASP ShareName 属性 ASP TotalSize 属性 ASP VolumeName 属性 ASP File 对象 ASP Attributes 属性 ASP DateCreated 属性 ASP DateLastAccessed 属性 ASP DateLastModified 属性 ASP Drive 属性 ASP Name 属性 ASP ParentFolder 属性 ASP Path 属性 ASP ShortName 属性 ASP ShortPath 属性 ASP Size 属性 ASP Type 属性 ASP Copy 方法 ASP Delete 方法 ASP Move 方法 ASP OpenAsTextStream 方法 ASP Folder 对象 ASP Files 集合 ASP SubFolders 集合 ASP Attributes 属性 ASP DateCreated 属性 ASP DateLastAccessed 属性 ASP DateLastModified 属性 ASP Drive 属性 ASP IsRootFolder 属性 ASP Name 属性 ASP ParentFolder 属性 ASP Path 属性 ASP ShortName 属性 ASP ShortPath 属性 ASP Size 属性 ASP Type 属性 ASP Copy 方法 ASP Delete 方法 ASP Move 方法 ASP CreateTextFile 方法 ASP Dictionary 对象 ASP CompareMode 属性 ASP Count 属性 ASP Item 属性 ASP Key 属性 ASP Add 方法 ASP Exists 方法 ASP Items 方法 ASP Keys 方法 ASP Remove 方法 ASP RemoveAll 方法 ASP ADO ASP 组件 ASP AdRotator 组件 ASP Browser Capabilities 组件 ASP Content Linking 组件 ASP Content Rotator 组件 (ASP 3.0) ASP 与 AJAX AJAX 简介 ASP - AJAX 与 ASP AJAX 数据库实例 ASP 实例 ASP 实例 ASP 快速参考
文字

ASP - AJAX 与 ASP



AJAX 被用于创建交互性更强的应用程序。


AJAX ASP 实例


实例解释 - 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" 占位符


上一篇: 下一篇: