下面的源代码属于上一节的 ajax 实例。
您可以拷贝粘贴这些代码,然后亲自测试一下。
这是 html 页面。它包含了一个简单的 html 表单,以及一个指向 javascript 的链接。
<html><head><script src="clienthint.js"></script> </head><body><form> first name:<input type="text"id="txt1" onkeyup="showhint(this.value)"
/></form><p>suggestions: <spanid="txthint"
></span></p> </body></html>
下面列出了 javascript 代码。
这是 javascript 代码,存储在文件 "clienthint.js" 中:
var xmlhttpfunction showhint(str)
{ if (str.length==0) { document.getelementbyid("txthint").innerhtml=""; return; } xmlhttp=getxmlhttpobject() if (xmlhttp==null) { alert ("您的浏览器不支持ajax!"); return; } var url="gethint.asp"; url=url+"?q="+str; url=url+"&sid="+math.random(); xmlhttp.onreadystatechange=statechanged; xmlhttp.open("get",url,true); xmlhttp.send(null);} function statechanged() { if (xmlhttp.readystate==4){ document.getelementbyid("txthint").innerhtml=xmlhttp.responsetext;}}function getxmlhttpobject()
{ var xmlhttp=null; try { // firefox, opera 8.0+, safari xmlhttp=new xmlhttprequest(); } catch (e) { // internet explorer try { xmlhttp=new activexobject("msxml2.xmlhttp"); } catch (e) { xmlhttp=new activexobject("microsoft.xmlhttp"); } }return xmlhttp;}
其实不存在什么“ajax 服务器”。ajax 页面可以由任一因特网服务器提供服务。
在上一节的例子中被 javascript 调用的服务器页面是一个简单的名为 "gethint.asp" 的 asp 文件。
下面我们列出了这个服务器页面代码的实例,使用 asp 来编写。
"gethint.asp" 页面中的代码针对 iis 使用 vbscript 编写。它会检查一个名字数组,然后向客户端返回相应的名字:
<%response.expires=-1dim a(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取得参数qq=ucase(request.querystring("q"))'如果q的长度大于0,则查找所有的hintif 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 nextend if'如果找不到hint,则输出"no suggestion"'或者输出正确的值if hint="" then response.write("no suggestion")else response.write(hint)end if%>
新闻热点
疑难解答
图片精选