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[]="Anna";a[]="Brittany";
a[]="Cinderella";a[]="Cinderella";a[]="Diana";
a[]="Eva";a[]="Eva";a[]="Fiona";
a[]="Gunda";a[]="Gunda";a[]="Hege";
a[]="Inga";a[]="Inga";a[]="Johanna";
a[]="Jiqing";a[]="Jiqing";a[]="Kitty";
a[]="Linda";a[]="Linda";a[]="Nina";
a[]="Ophelia";a[]="Ophelia";a[]="Petunia";
a[]="Amanda";a[]="Amanda";a[]="Raquel";
a[]="Cindy";a[]="Cindy";a[]="Doris";
a[]="Eve";a[]="Eve";a[]="Evita";
a[]="Sunniva";a[]="Sunniva";a[]="Tove";
a[]="Unni";a[]="Unni";a[]="Violet";
a[]="Liza";a[]="Liza";a[]="Elizabeth";
a[]="Ellen";a[]="Ellen";a[]="Wenche";
a[]="Vicky";//gettheqparameterfromURLa[]="Vicky";//gettheqparameterfromURLq=GET["q"];//lookupallhintsfromarrayiflengthofq>0if(strlen(GET["q"];//lookupallhintsfromarrayiflengthofq>0if(strlen(q) > 0)
{
hint="";for(hint="";for(i=0; i<count(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 (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 echoresponse="no suggestion"; } else { $response=$hint; }  //output the response echoresponse;
?>



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/archive/2012/06/27/2565763.html,如需转载请自行联系原作者


相关文章
|
12天前
|
前端开发 JavaScript PHP
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
|
12天前
|
XML 前端开发 JavaScript
【PHP 开发专栏】PHP 与 Ajax 交互开发
【4月更文挑战第30天】本文探讨了PHP与Ajax交互在Web开发中的应用。Ajax负责客户端的异步请求,PHP处理服务器端业务逻辑。两者结合实现高效、流畅的用户体验。文中阐述了Ajax的工作原理,PHP的角色,数据传输格式选择,并提供了发送Ajax请求、PHP处理请求的示例代码。实际应用包括实时数据更新、表单验证和动态内容加载。开发中需注意跨域、数据安全和性能优化。PHP与Ajax的结合将继续在Web开发中发挥重要作用。
|
4月前
|
前端开发 JavaScript 关系型数据库
PHP代码合集21个邮箱2个问答23个ajax特效
PHP代码合集21个邮箱2个问答23个ajax特效
18 0
|
4月前
|
JSON 前端开发 JavaScript
介绍几个常见的 AJAX 实例,帮助你更好地理解和运用 AJAX 技术
介绍几个常见的 AJAX 实例,帮助你更好地理解和运用 AJAX 技术
41 2
|
5月前
|
XML JavaScript 前端开发
【Web智能聊天客服】之JavaScript、jQuery、AJAX讲解及实例(超详细必看 附源码)
【Web智能聊天客服】之JavaScript、jQuery、AJAX讲解及实例(超详细必看 附源码)
54 0
|
5月前
|
网络安全 PHP
[网络安全/CTF] BUUCTF极客大挑战2019PHP解题详析(Dirsearch使用实例+php反序列化)
[网络安全/CTF] BUUCTF极客大挑战2019PHP解题详析(Dirsearch使用实例+php反序列化)
44 0
|
5月前
|
前端开发 PHP 数据安全/隐私保护
【PHP学习】—利用ajax原理实现密码修改功能(九)
【PHP学习】—利用ajax原理实现密码修改功能(九)
|
5月前
|
前端开发 JavaScript PHP
【PHP学习】—利用ajax原理实现登录功能(八)
【PHP学习】—利用ajax原理实现登录功能(八)
|
6月前
|
XML 前端开发 JavaScript
什么是Ajax和jquery
什么是Ajax和jquery
48 0