php的ajax简单实例

很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。

为了防止我自己忘记,现在把这个简单的实例记录下。这个实例是网上搜的,文末附上链接。

首先你得有自己的服务器,这个我已经采用xampp配置好了。

实现ajax需要三个文件,一个是html的表单文件,一个是js的核心文件,一个是php的后台文件。具体的文件如下所示:

下面的是test.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,太长了,我就折叠了,其中的url也可以写成这样http://localhost/shen/test/gethint.php。效果是一样的。

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的内容gethint.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;
?>

首先把所有的文件都放在Xampp/htdocs(xampp安装位置)文件夹中,我又新建了两个文件夹,于是路径就变成了Xampp/htdocs/shen/test。

接下去在浏览器中输入以下地址http://localhost/shen/test/test.html,当输入a后,会触发ajax效果,从后台获取相应的名字中带有j的数据,并展示在suggestions中。

本文转自http://www.jb51.net/article/47329.htm

时间: 2024-08-02 10:15:51

php的ajax简单实例的相关文章

AJAX简单实例

<script type="text/javascript"> $(document).ready(function(){ $("#ajaxButton").click(function(){ htmlObj=$.ajax({ url:"ajax.do", type:"get", data:{articleId:3}, async:false, success: function(data) { alert(dat

Ajax 简单实例,其实就是js里面内容有些不同而已(转载)

这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来.不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人. 关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋的文字,在这里我也不想照本宣科. 只想说说我感觉到的一些优点,对于不对,大家也可以和我讨论: 首先是异步交互,用户感觉不到页面的提交,当然也不等待页面返回.这是使用了AJAX技术的页面给用户的第一感觉. 其次是响应速度快,这也是用户强烈体验. 然后是与我们开发者相关的,复杂UI的成功处理,一直以来,

jquery 中ajax简单实例,结果返回问题处理

var ajaxUrl = "index.php";//设置为同步 $.ajaxSetup({ async: false }); $.post(ajaxUrl,{name:name_val},function(data){check_idno(data);},"json"); function check_idno(){    //处理动作} --- 正常写法 var ajaxUrl = "index.php?ctl=ajax&act=check_

AJAX学习整理二之简单实例

做了几个简单的实例,加载txt文本内容.加载xml文件内容,把xml文本内容转换成html表格显示.废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head>     <title>通过ajax获取文本内容</title>     <meta charset="utf-8">     <scr

简单的Ajax应用实例

从网页前端输入提示范围内的字符,然后显示从后台返回的结果 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script type="text/javascript"> function showHint(str) { var xmlhttp; if (str.length==0) {

ajax原理总结附简单实例及其优点

在工作中用了Ajax N多次了,也看过一些相关方面的书籍,也算是认识了它,但是一直没有认真总结和整理过相关的东东,失败! 近有闲情,将之总结如下: [名称] Ajax是Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. 详情请移步Ajax: A New Approach to Web Applications [原理] 简单一些,就是通过使用XmlHttpRequest对象向服务器发送异步请求,获取返回的数据,并使用Javascript和DOM操作页面

原生ajax调用数据简单实例代码

原生ajax调用数据简单实例代码:由于jQuery的盛行,现在使用较多的是jQuery封装好了的ajax,因为解决了浏览器兼容性问题,这对程序员来说就等于去掉了一个心头大患,但并非原生ajax就销声匿迹,并且本人感觉还是对原生的ajax有所了解的好,下面就是一段ajax数据调用的实例代码,非常的简单,初学者可以参考一下.代码如下:一.兼容浏览器部分: function xmlHttpR() { var xmlhttp; if(window.XMLHttpRequest) { xmlhttp=ne

(三)AJAX基本介绍和简单实例03

AJAX基本介绍和简单实例03-----Ajax与数据库的动态应用 初始界面: 选择所有用户后显示的界面: 查询姓名为杜森的客户,结果如下: Demo03.html代码如下: <html> <meta http-equiv="content-type" content="text/html" charset="utf-8"/> <head> <style> body { background:#CC

mvc area区域和异步表单,bootstrap简单实例

码农最怕眼高手低 今天来练习mvc Area技术和bootstrap以及异步表单的C#代码实现. 1.area区域架构对于建立复杂业务逻辑很有帮助,由  AreaRegistration.RegisterAllAreas()方法遍历路由表,获得所有注册的路由.参见 建立类库Common,下设一个文件夹BookStore 在其中建立model和controller.(注意引用System.Web.Mvc这个dll) 项目结构如图: 其中book.cs为model模型 namespace Commo