【 tulaoshi.com - Web开发 】
AJAXSuggest源代码的实例
下面的源代码属于上一节的AJAX实例。
您可以拷贝粘贴这些代码,然后亲自测试一下。
AJAXHTML页面
这是HTML页面。它包含了一个简单的HTML表单,以及一个指向JavaScript的链接。
html
head
scriptsrc="clienthint.js"/script
/head
body
form
FirstName:inputtype="text"id="txt1"onkeyup="showHint(this.value)"/
/form
pSuggestions:spanid="txtHint"/span/p
/body
/html下面列出了JavaScript代码。
AJAXJavaScript
这是JavaScript代码,存储在文件"clienthint.js"中:
varxmlHttp
functionshowHint(str)
{
if(str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject()
if(xmlHttp==null)
{
alert("您的浏览器不支持AJAX!");
return;
}
varurl="gethint.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
functionstateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
functionGetXmlHttpObject()
{
varxmlHttp=null;
try
{
//Firefox,Opera8.0+,Safari
xmlHttp=newXMLHttpRequest();
}
catch(e)
{
//InternetExplorer
try
{
xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}
}
returnxmlHttp;
}AJAX服务器页面-ASP和PHP
其实不存在什么“AJAX服务器”。AJAX页面可以由任一因特网服务器提供服务。
在上一节的例子中被JavaScript调用的服务器页面是一个简单的名为"gethint.asp"的ASP文件。
下面我们列出了这个服务器页面代码的实例,使用ASP来编写。
AJAXASP实例
"gethint.asp"页面中的代码针对IIS使用VBScript编写。它会检查一个名字数组,然后向客户端返回相应的名字:
%
response.expires=-1
dima(30)
'用名字为数组赋值
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"
'从URL取得参数q
q=ucase(request.querystring("q"))
'如果q的长度大于0,则查找所有的hint
iflen(q)0then
hint=""
fori=1to30
ifq=ucase(mid(a(i),1,len(q)))then
ifhint=""then
hint=a(i)
else
hint=hint&","&a(i)
endif
endif
next
endif
'如果找不到hint,则输出"nosuggestion"
'或者输出正确的值
ifhint=""then
response.write("nosuggestion")
else
response.write(hint)
endif
%