AJAX ASP/PHP
ajax asp/php 实例
ajax 用于创造动态性更强的应用程序。
ajax asp/php 实例
下面的例子将为您演示当用户在输入框中键入字符时,网页如何与 web 服务器进行通信: 请在下面的输入框中键入字母(a - z):
function showhint(str)
{
var xmlhttp;
if (str.length==0)
{
document.getelementbyid("txthint").innerhtml="";
return;
}
if (window.xmlhttprequest)
{
// ie7+, firefox, chrome, opera, safari 浏览器执行代码
xmlhttp=new xmlhttprequest();
}
else
{
// 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","/try/ajax/gethint.php?q="+str,true);
xmlhttp.send();
}
实例
在输入框中尝试输入字母 a:
输入姓名:提示信息:
实例解析 - showhint() 函数
当用户在上面的输入框中键入字符时,会执行函数 "showhint()" 。该函数由 "onkeyup" 事件触发:
function showhint(str) { var xmlhttp;
if (str.length==0) {
document.getelementbyid("txthint").innerhtml="";
return;
} if (window.xmlhttprequest) { // ie7+, firefox, chrome, opera, safari 浏览器执行代码 xmlhttp=new xmlhttprequest();
} else { // 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","/try/ajax/gethint.php?q="+str,true);
xmlhttp.send();}
源代码解析:
如果输入框为空 str.length==0,则该函数清空 txthint 占位符的内容,并退出函数。
如果输入框不为空,showhint() 函数执行以下任务:
- 创建 xmlhttprequest 对象
- 当服务器响应就绪时执行函数
- 把请求发送到服务器上的文件
- 请注意我们向 url 添加了一个参数 q (带有输入框的内容)
ajax 服务器页面 - asp 和 php
以上实例 javascript 调用的服务器页面是 php 文件,名为 gethint.php。
下面,我们创建了两个版本的服务器文件,一个用 asp 编写,另一个用 php 编写。
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 %>
php 文件
下面的代码用 php 编写,与上面的 asp 代码作用是一样的。
0 if (strlen($q) > 0) { $hint=""; for($i=0; $i