PHP - AJAX 与 PHP

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

AJAX PHP 实例

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

实例

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

姓名:

返回值:

实例解释 - HTML 页面

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

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();

}

在输入框中输入一个姓名:

姓名:

返回值:

源代码解释:

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

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

创建 XMLHttpRequest 对象

创建在服务器响应就绪时执行的函数

向服务器上的文件发送请求

请注意添加到 URL 末端的参数(q)(包含输入框的内容)

PHP 文件

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

"gethint.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

{

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),则会发生:

查找匹配 JavaScript 发送的字符的姓名

如果未找到匹配,则将响应字符串设置为 "no suggestion"

如果找到一个或多个匹配姓名,则用所有姓名设置响应字符串

把响应发送到 "txtHint" 占位符

PHP Ajax 跨域问题解决方案

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

php加ajax,PHP – AJAX 与 PHP | 菜鸟教程相关推荐

  1. post get mysql_jQuery – AJAX get() 和 post() 方法 | 菜鸟教程

    jQuery - AJAX get() 和 post() 方法 jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据. HTTP 请求:GET ...

  2. php ajax 加载列表,Ajax点击不断加载数据列表(图文教程)

    这篇文章主要介绍了Ajax点击不断加载数据列表的相关资料,需要的朋友可以参考下 Ajax简介 AJAX即"Asynchronous Javascript And XML"(异步Ja ...

  3. python提取ajax异步加载数据_python爬取豆瓣电影分类排行榜引出的异步加载(AJAX)问题...

    1.背景 之前的文章中已经介绍过猫眼TOP100的电影信息爬取案例,网页每页有10条电影信息,通过翻页发现URL变化规律构造循环爬取10页100条全部电影信息.但是豆瓣电影分类排行榜的网页情况就所不同 ...

  4. Ajax 解释Ajax的XML和JSON格式,操作Ajax的几种封装方法【案例+解释】(二)

    文章目录 1.Ajax同步的使用 2.JS的单线程和事件队列 2.Ajax的数据格式 1.XML数据格式 2.JSON数据格式 3.如何处理XML数据格式案例 4.如何处理JSON数据格式案例 3.A ...

  5. 一、AJAX学习笔记——原生AJAX (ajax简介、XML简介、ajax优缺点、ajax的使用)

    第 1 章:原生 AJAX 1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML. 通过 AJAX 可以在浏览器中向服 ...

  6. ajax hacking,Ajax Hacking

    Ajax Hacking 更新时间:2006年11月06日 00:00:00   作者: 由此Ajax攻击可见一斑,然而这还仅仅是个开始.7月份百度开通了百度空间,虽然没有指明是应用web2.0技术, ...

  7. 了解ajax,ajax的优化有哪些

    -20-01-20 ------------------------------学习打卡-------------------------------------------------------- ...

  8. 什么是AJAX以及AJAX的优缺点有哪些?

    一句话讲述ajax是作用: ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 学习ajax之前需要掌握哪些技术? 1.HTML / XHTML 2.CSS 3.JavaScrip ...

  9. php 采集ajax网页,Ajax网页采集方法(最新) - 八爪鱼采集器

    很多网页的点击使用了Ajax加载技术,针对这种网页,我们需在八爪鱼中进行相关设置. 一.什么是Ajax? Ajax是延时加载.异步更新的一种脚本技术,可以在不重新加载整个网页的情况下,对网页的某部分进 ...

  10. 【AJAX】AJAX技术详细解析以及实例

    Ajax技术介绍: 全称: Asynchronized(异步) JavaScript And Xml  技术组成有: Javascript.DOM.CSS 和 XMLHttpRequest AJAX ...

最新文章

  1. 发送请求获取响应内容(c#)
  2. nvidia docker容器不支持中文的解决办法_用docker搭建深度学习实验环境
  3. 中心对称又是轴对称的图形_解读坐标系中图形变换的规律
  4. 201621123053《Java程序设计》第十三周学习笔记文章
  5. Python实训day12pm【答辩要求、定时器】
  6. 文献记录(part94)--Clustering and outlier detection using isoperimetric number of trees
  7. Java学习——使用Static修饰符
  8. 引入宽字符error: converting to execution character set: Invalid or incomplete multibyte or wide character
  9. 前端学习(1306):node.js模块的加载机制
  10. 《scikit-learn》通过GridSearchCV来进行超参数优化
  11. 第0章 Oracle的安装及相关配置
  12. go语言构造函数的创建以及赋值使用
  13. LabVIEW虚拟示波器设计
  14. Kotlin重载运算符operator
  15. 行列式 (背诵内容)
  16. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结
  17. 长歌行 宋 郭茂倩收编的《乐府歌词》汉代民间诗歌
  18. iOS 2015年3月苹果新的审核标准(中文)
  19. ImageNet Classification with Deep Convolutional Neural Networks(AlexNet论文翻译(附原文))
  20. Python全局变量的隐藏“窍门”

热门文章

  1. matlab遗传算法求解TSP旅行商问题
  2. Mac 升级到protoc 指定版本
  3. 超级加粗大标题Mogrt免费PR动态图形模板
  4. CentOS7 yum 安装 maven
  5. 三极管基极限流电阻计算
  6. AD15的PCB设计流程及基本设置
  7. STM8L IAP升级过程记录
  8. python处理点云数据_点云数据处理知识讲解
  9. 手机+PC电脑如何使用油猴插件和油猴脚本?
  10. 华为交换机初始化_华为交换机的初始配置