一个简单的AJAX实例

AJAX HTML页面
  这是一个HTML网页。它包括了一个简单的HTML表单和关联JS的link
<html>
<head>
<script src="clienthint.js"></script>
</head><body><form>
First Name:
<input type="text" id="txt1"
οnkeyup="showHint(this.value)">
</form><p>Suggestions: <span id="txtHint"></span></p> </body>
</html>The JavaScript code is listed below.
JS代码在下面

  AJAX 的 JS
  这是JS代码,被保存在"clienthint.js"文件中

var  xmlHttp
function  showHint(str)

if (str.length > 0)

var url="gethint.asp?sid=" + Math.random() + "&q=" + str
xmlHttp
=GetXmlHttpObject(stateChanged)
xmlHttp.open(
"GET", url , true)
xmlHttp.send(
null)
}
 
else

document.getElementById(
"txtHint").innerHTML=""
}
 
}
 
function  stateChanged() 

if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")

document.getElementById(
"txtHint").innerHTML=xmlHttp.responseText 
}
 
}
 
function  GetXmlHttpObject(handler)

var objXmlHttp=null
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert(
"This example doesnt work in Opera"
return
}

if (navigator.userAgent.indexOf("MSIE")>=0)

var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName
="Microsoft.XMLHTTP"
}
 
try

objXmlHttp
=new ActiveXObject(strName)
objXmlHttp.onreadystatechange
=handler 
return objXmlHttp
}
 
catch(e)

alert(
"Error. Scripting for ActiveX might be disabled"
return 
}
 
}
 
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp
=new XMLHttpRequest()
objXmlHttp.onload
=handler
objXmlHttp.onerror
=handler 
return objXmlHttp
}

}

  AJAX 服务端页面
  服务端页面被JS所调遣,是一名为"gethint.asp"的ASP文件,页面是用VBS来针对IIS所写的。它可以被轻松的写成PHP或是一些其他的服务语言,它只是检查了名字组并将相吻合的名字返回给客户端:
 

dim  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 "
q
= request.querystring( " q " ) if   len (q) > 0   then
  hint
= ""
  
for  i = 1   to   30
    x1
= ucase ( mid (q, 1 , len (q)))
    x2
= ucase ( mid (a(i), 1 , len (q)))
    
if  x1 = x2  then
      
if  hint = ""   then
        hint
= a(i)
      
else
        hint
= hint  &   "  ,  "   &  a(i)
      
end   if
    
end   if
  
next
end   if  
if  hint = ""   then  
  response.write(
" no suggestion " )
else
  response.write(hint)
end   if  


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值