推荐阅读
  • PHP 可用的函数

    PHP 可用的函数 PHP 提供了很多可用的标准函数,下表列出了常用的几个: 函数描述 boolval获取变量的布尔值 debug_zval_dump 查看一个变量在zend引擎中的引用计数、类型信息 doubleval floatval 的别名 empty 检查一个变量是否为空 floatval 获取变量的浮点值 get_defined_vars 返回由所有已定义变量所组成的数组

  • PHP EOF(heredoc)

    PHP EOF(heredoc) 使用说明 PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。 使用概述: 1. 必须后接分号,否则编译通不过。 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。 3. 结束标识必须顶格

  • PHP 教程

    PHP 教程 PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。 PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。 适用于PHP初学者的学习线路和建议PHP 开发工具推荐 PHP 在线工具 通过实例学习 PHP 我们的 PHP 在线实例让您能够更简单的学习 PHP,实例中包含了 PHP 的源码及运行结果。 [my

  • PHP 文件

    PHP 文件处理 fopen() 函数用于在 PHP 中打开文件。 打开文件 fopen() 函数用于在 PHP 中打开文件。 此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件: <html> <body> <?php $file=fopen('welcome.txt&#039

  • AJAX 投票

    PHP 实例 - AJAX 投票 AJAX 投票 在下面的实例中,我们将演示一个投票程序,通过它,投票结果在网页不进行刷新的情况下被显示。 function getVote(int) { if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 执行代码 xmlhttp=new XMLHttpRe

  • PHP MySQL 预处理语句

    PHP MySQL 预处理语句 预处理语句对于防止 MySQL 注入是非常有用的。 预处理语句及绑定参数 预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。 预处理语句的工作原理如下: 预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 '?' 标记 。例如:INSERT INTO MyGuests (firstname, lastname,

  • PHP 函数

    PHP 函数 PHP 的真正威力源自于它的函数。 在 PHP 中,提供了超过 1000 个内建的函数。 PHP 内建函数 如需查看所有数组函数的完整参考手册和实例,请访问我们的 PHP 参考手册。 PHP 函数 在本章中,我们将为您讲解如何创建自己的函数。 如要在页面加载时执行脚本,您可以把它放到函数里。 函数是通过调用函数来执行的。 你可以在页面的任何位置调用函数。 创建 PHP 函

  • PHP Mail

    PHP Mail 函数 PHP Mail 简介 mail() 函数允许您从脚本中直接发送电子邮件。 需求 要使邮件函数可用,PHP 需要已安装且正在运行的邮件系统。要使用的程序是由 php.ini 文件中的配置设置定义的。 安装 Mail 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。 Runtime 配置 Mail 函数的行为受 php.ini 文件中的设置的影响。 Mail

  • PHP 常量

    PHP 5 常量 常量值被定义后,在脚本的其他任何地方都不能被改变。 PHP 常量 常量是一个简单值的标识符。该值在脚本中不能改变。 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。 注意: 常量在整个脚本中都可以使用。 设置 PHP 常量 设置常量,使用 define() 函数,函数语法如下: bool define ( stri

  • PHP Math

    PHP 5 Math 函数 PHP Math 简介 Math 函数能处理 integer 和 float 范围内的值。 安装 PHP Math 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。 PHP 5 Math 函数 函数 描述 abs() 返回一个数的绝对值。 acos() 返回一个数的反余弦。 acosh() 返回

AJAX PHP

AJAX 被用于创建交互性更强的应用程序。

AJAX PHP 实例

下面的实例将演示当用户在输入框中键入字符时,网页如何与 Web 服务器进行通信:


尝试在输入框中输入一个名字,如:Anna:

姓名: 

返回值:  

实例解释 - HTML 页面

当用户在上面的输入框中键入字符时,会执行 "showHint()" 函数。该函数由 "onkeyup" 事件触发:


<html>

<head>

<script>

function showHint(str)

{

    if (str.length==0)

    { 

        document.getElementById("txtHint").innerHTML="";

        return;

    }

    if (window.XMLHttpRequest)

    {

        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码

        xmlhttp=new XMLHttpRequest();

    }

    else

    {    

        //IE6, IE5 浏览器执行的代码

        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    xmlhttp.onreadystatechange=function()

    {

        if (xmlhttp.readyState==4 && xmlhttp.status==200)

        {

            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

        }

    }

    xmlhttp.open("GET","gethint.php?q="+str,true);

    xmlhttp.send();

}

</script>

</head>

<body>

<p><b>在输入框中输入一个姓名:</b></p>

<form> 

姓名: <input type="text" onkeyup="showHint(this.value)">

</form>

<p>返回值: <span id="txtHint"></span></p>

</body>

</html>

源代码解释:

如果输入框是空的(str.length==0),该函数会清空 txtHint 占位符的内容,并退出该函数。

如果输入框不是空的,那么 showHint() 会执行以下步骤:

  • 创建 XMLHttpRequest 对象
  • 创建在服务器响应就绪时执行的函数
  • 向服务器上的文件发送请求
  • 请注意添加到 URL 末端的参数(q)(包含输入框的内容)

PHP 文件

上面这段通过 JavaScript 调用的服务器页面是名为 "gethint.php" 的 PHP 文件。

"gethint.php" 中的源代码会检查姓名数组,然后向浏览器返回对应的姓名:


<?php

// 将姓名填充到数组中

$a[]="Anna";

$a[]="Brittany";

$a[]="Cinderella";

$a[]="Diana";

$a[]="Eva";

$a[]="Fiona";

$a[]="Gunda";

$a[]="Hege";

$a[]="Inga";

$a[]="Johanna";

$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";

//从请求URL地址中获取 q 参数

$q=$_GET["q"];

//查找是否由匹配值, 如果 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];

            }

        }

    }

}

// 如果没有匹配值设置输出为 "no suggestion" 

if ($hint == "")

{

    $response="no suggestion";

}

else

{

    $response=$hint;

}

//输出返回值

echo $response;

?>

解释:如果 JavaScript 发送了任何文本(即 strlen($q) > 0),则会发生:

  1. 查找匹配 JavaScript 发送的字符的姓名
  2. 如果未找到匹配,则将响应字符串设置为 "no suggestion"
  3. 如果找到一个或多个匹配姓名,则用所有姓名设置响应字符串
  4. 把响应发送到 "txtHint" 占位符

PHP Ajax 跨域问题解决方案

如果你的异步请求需要跨域可以查看:PHP Ajax 跨域问题解决方案

关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图