ajax 用于创造动态性更强的应用程序,本篇将会对其相关知识做出讲解。
实例解释 - showhint() 函数
当用户在上面的输入框中键入字符时,会执行函数 showhint() 。该函数由 onkeyup 事件触发:
function showhint(str)
{
var xmlhttp;
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();
}
源代码解释:
如果输入框为空 (str.length==0),则该函数清空 txthint 占位符的内容,并退出函数。
如果输入框不为空,showhint() 函数执行以下任务:
创建 xmlhttprequest 对象
当服务器响应就绪时执行函数
把请求发送到服务器上的文件
请注意我们向 url 添加了一个参数 q (带有输入框的内容)
ajax 服务器页面 - asp 和 php
由上面的 javascript 调用的服务器页面是 asp 文件,名为 "gethint.asp"。
下面,我们创建了两个版本的服务器文件,一个用 asp 编写,另一个用 php 编写。
asp 文件
"gethint.asp" 中的源代码会检查一个名字数组,然后向浏览器返回相应的名字:
<%
response.expires=-1
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"'获得来自 url 的 q 参数q=ucase(request.querystring("q"))'如果 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'如果未找到提示,则输出 "no suggestion"'否则输出正确的值if hint="" then
response.write("no suggestion")
else
response.write(hint)
end if
%>
php 文件
下面的代码用 php 编写,与上面的 asp 代码作用是一样的。
注释:如需在 php 中运行这个例子,请将 url 变量的值(javascript 代码中)由 "gethint.asp" 改为 "gethint.php"。
<?php// 用名字来填充数组$a[]="anna";
$a[]="brittany";
$a[]="cinderella";
$a[]="diana";
$a[]="eva";
$a[]="fiona";
$a[]="gunda";
$a[]="hege";
$a[]="inga";
$a[]="johanna";
$a[]="kitty";
$a[]="linda";
$a[]="nina";
$a[]="ophelia";
$a[]="petunia";
$a[]="amanda";
$a[]="raquel";
$a[]="cindy";
$a[]="doris";
$a[]="eve";
$a[]="evita";
$a[]="sunniva";
$a[]="tove";
$a[]="unni";
$a[]="violet";
$a[]="liza";
$a[]="elizabeth";
$a[]="ellen";
$a[]="wenche";
$a[]="vicky";//获得来自 url 的 q 参数$q=$_get["q"];//如果 q 大于 0,则查找数组中的所有提示if (strlen($q) > 0)
{
$hint="";
for($i=0; $i<count($a); $i++)
{
if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
{
if ($hint=="")
{
$hint=$a[$i];
}
else
{
$hint=$hint." , ".$a[$i];
}
}
}
}// 如果未找到提示,则把输出设置为 "no suggestion"// 否则设置为正确的值if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
}//输出响应echo $response;
?>
本篇对ajax asp/php 请求做出了相关的讲解,更多的学习资料清关注即可观看。
相关推荐:
关于ajax中 xml 的实例讲解
mysql之初识sql语句与库操作
如何通过tp5--增删改查简单实现
以上就是关于ajax asp/php 请求实例的相关知识的详细内容。