欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php的ajax简单实例

程序员文章站 2023-10-18 19:57:46
当输入j后,会触发ajax效果,从后台获取相应的名字中带有j的数据,并展示在suggestions中。 代码实现如下: 实现ajax需要三个文件,一个是html的表...
php的ajax简单实例

当输入j后,会触发ajax效果,从后台获取相应的名字中带有j的数据,并展示在suggestions中。

代码实现如下:

实现ajax需要三个文件,一个是html的表单文件,一个是js的核心文件,一个是php的后台文件。

下面的是html文件,当键盘按下时触发showhint方法,在showhint方法中会有ajax的核心内容,实例化,获取地址,获取数据并展示等等。

复制代码 代码如下:

<html>
<head>
<script src="clienthint.js"></script>
</head>

<body>

<form>
first name:
<input type="text" id="txt1"
onkeyup="showhint(this.value)">
</form>

<p>suggestions: <span id="txthint"></span></p>

</body>
</html>

 

下面是js的内容clienthint.js。

复制代码 代码如下:

var xmlhttp

function showhint(str)
{
if (str.length==0)
 {
 document.getelementbyid("txthint").innerhtml=""
 return
 }
//获取xmlhttpobject对象,如果为空,提示浏览器不支持ajax
xmlhttp=getxmlhttpobject()
if (xmlhttp==null)
 {
 alert ("browser does not support http request")
 return
 }
 //获取url
var url="gethint.php"
url=url+"?q="+str
url=url+"&sid="+math.random()
 //回调函数,执行动作
xmlhttp.onreadystatechange=statechanged
 //open
xmlhttp.open("get",url,true)
xmlhttp.send(null)
}

function statechanged()
{
if (xmlhttp.readystate==4 || xmlhttp.readystate=="complete")
{
//将获取的信息插入到txthint中
document.getelementbyid("txthint").innerhtml=xmlhttp.responsetext
}
}


//获取xml对象
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;
}

下面是php的内容。根据ajax对象传入的参数,获取相应的数据。

复制代码 代码如下:

<?php
// fill up array with names
$a[]="anna";
$a[]="brittany";
$a[]="cinderella";
$a[]="diana";
$a[]="eva";
$a[]="fiona";
$a[]="gunda";
$a[]="hege";
$a[]="inga";
$a[]="johanna";
$a[]="jiqing";
$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";

//get the q parameter from url
$q=$_get["q"];

//lookup all hints from array if length of 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];
     }
   }
 }
}

//set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
}

//output the response
echo $response;
?>