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 相关文章推荐
建立动态的WML站点(三)
Oct 09 PHP
用PHP和ACCESS写聊天室(六)
Oct 09 PHP
php5 mysql分页实例代码
Apr 10 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
PHP中数组定义的几种方法
Sep 01 PHP
php中读写文件与读写数据库的效率比较分享
Oct 19 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
php有效防止同一用户多次登录
Nov 19 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 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下实现折线图效果的代码
2007/04/28 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
jquery replace方法去空格
2017/05/08 jQuery
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
python代码制作configure文件示例
2014/07/28 Python
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
tornado 多进程模式解析
2018/01/15 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
爬山的活动方案
2014/08/16 职场文书
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
vue router 动态路由清除方式
2022/05/25 Vue.js