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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
PHP 观察者模式的实现代码
May 10 PHP
探讨php中header的用法详解
Jun 07 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
PHP获取windows登录用户名的方法
Jun 24 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP chop()函数讲解
Feb 11 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 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
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
JavaScript EasyPager 分页函数
2011/05/25 Javascript
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
JavaScript中的this机制
2016/01/30 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
React快速入门教程
2017/01/17 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
常用的9个JavaScript图表库详解
2017/12/19 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
python中对list去重的多种方法
2014/09/18 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
竟聘演讲稿范文
2013/12/31 职场文书
退休感言
2014/01/28 职场文书
个人贷款担保书
2014/04/01 职场文书
幼儿园家长寄语
2014/04/02 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
小学班级口号大全
2015/12/25 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技