php的ajax简单实例


Posted in PHP onFebruary 27, 2014

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;
?>
PHP 相关文章推荐
坏狼的PHP学习教程之第1天
Jun 15 PHP
将数组写入txt文件 var_export
Apr 21 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
phpfpm的作用和用法
Oct 10 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 PHP
php中require和require_once的区别说明
Feb 27 #PHP
php更新修改excel中的内容实例代码
Feb 26 #PHP
php获取文件大小的方法
Feb 26 #PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 #PHP
php把session写入数据库示例
Feb 26 #PHP
php操作mysql数据库的基本类代码
Feb 25 #PHP
php获取bing每日壁纸示例分享
Feb 25 #PHP
You might like
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
python实现维吉尼亚加密法
2019/03/20 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
2020/07/01 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
红旗方阵解说词
2014/02/12 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
小学运动会班级口号
2014/06/09 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
中学语文教学反思
2016/02/16 职场文书
Nginx反向代理、重定向
2022/04/13 Servers