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边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 PHP
php实现RSA加密类实例
Mar 26 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 PHP
php传值和传引用的区别点总结
Nov 19 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 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
javascript中的new使用
2010/03/20 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
python爬虫之百度API调用方法
2017/06/11 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
企业仓管员岗位职责
2014/06/15 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
党员个人总结自评
2015/02/14 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python