- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP网络编程自学完全手册 第18章 PHP与AJAX
第18章 PHP与AJAX AJAX的英文全称是“Asynchronous JavaScript and XML”,即异步JavaScript和XML。是一种用来开发交互性网页的技术,其本身由多种技术组成。 本章主要介绍AJAX的原理与使用方法,在学习本章之前,读者可以提前了解一些关于JavaScript的知识,便于理解文中内容。在本章最后,将介绍一个用于PHP开发的AJAX框架SAJAX,以及其使用方法。 18.1 AJAX引擎与数据提交 AJAX最显著的一个特点,就是在不安装任何插件的情况下,可以用于创建功能丰富的客户端,同时结合XHTML与CSS技术,大大提升了客户体验。本节主要介绍AJAX的原理、使用方法,以及与服务器端代码的配合。 18.1.1 AJAX工作原理 AJAX技术之所以迷人,是因为其打破了常规的网页浏览方式,不仅提升了客户体验,同时对于提升程序运行效率,也有很大帮助。 对于刚接解AJAX的读者来说,可能生涩的术语,并不能帮助其理解AJAX的工作原理。最直观的方法,就是使用图形的方法来展示其运行过程。 18.1.2 AJAX初始化 在了解了AJAX的工作原理后,就可以从基本的AJAX代码开始,实现AJAX模型。在整个AJAX模型中,用于实现异步回调的代码是关键,这段代码可以称为AJAX的引擎。要实现AJAX引擎,就要从一个JavaScript对象开始,这个对象的名称是XMLHttpRequest,使用这个对象可以完成HTTP请求、XML解析等操作。下面演示如何实现AJAX引擎,代码如清单 所示。 (详细内容请参照本书) 至此AJAX的初始化已经完成了,在接下来的小节中,就可以这个AJAX引擎来开发AJAX程序了。 18.1.3 使用GET方法提交请求 在以前的章节中,介绍过PHP与JavaScript使用XML文件,互相传递数据的方法,但是其过程缺点较多。在学习了AJAX的知识后,可以使用AJAX引擎,更高效的实现数据交互。 HTTP请求分为GET和POST两种方法,下面的例子将使用HTTP的GET方法,向当前脚本页提交数据,并在不刷新页面的情况下,使用PHP代码中的数据,更新当前页面内容,代码如下清单所示。 18.1.4 使用POST方法提交请求 客户端要提交大数据量的请求时,可以使用POST方法来实现,使用POST方法提交请求与使用GET方法提交请求的方法基本相同,下面演示使用POST方法提交请求的步骤,代码如清单所示。 18.2 PHP与数据格式 本章18.1小节主要介绍了AJAX引擎的实现,以及使用方法。在18.1节的演示代码中,通过GET或POST方法提交请求后,PHP脚本返回的都是没有规律的文本信息。而实际应用中,返回数据要复杂的多,这就要求PHP脚本要返回格式化的数据,以便于客户端脚本使用。 18.2.1 PHP、JavaScript、XML 在AJAX模型中,PHP的角色就是服务器端脚本,用于把服务器的资源转化为XML格式的数据。在本书的2.1.9小节中,介绍了使用XML格式的文件,用于PHP与JavaScript进行数据交换的方法。其中PHP使用的是DOM函数来操作XML,JavaScript用于处理XML的是Microsoft.XMLDOM组件。 18.2.2 PHP、JavaScript、JSON 在AJAX中处理XML比较复杂,可以使用更简单JSON来替换XML。JSON是JavaScript Object Notation的缩写,相对于XML来说,JavaScript在处理JSON时更加方便,高效。 为了使读者更加直观的了解JSON,下面列出三段代码,这三段代码存储的数据是一样的,其中第1段是使用PHP数组存储的,第2段是使用XML来存储的,第3段是使用JSON格式存储的,演示代码如下所示。使用PHP数据组存储数据的代码: 18.2.3 PHP与Javascript 在经过了使用XML、以及JSON进行数据处理后,还可以使用JavaScript语句本身,来进行数据交换,下面通过代码演示,如果在AJAX返回数据中使用JavaScript语句,代码如清单所示。 18.2.4 AJAX通用类 在本章第18.1.2小节中,介绍了AJAX的核心代码,并使用其进行了简单的AJAX演示。虽然这段代码可以运行,但是在实际应用中,其对浏览器的兼容性,以及使用灵活性方面,都不尽人意。 在AJAX开发中,许多开发人员为了编写代码的方便,编写了很多易于使用,功能强大的AJAX类,下面就介绍其中一款名为AJAXRequest的AJAX通用类。AJAXRequest实现的功能很简单,主要是为了减化开发步骤,减少重复代码而开发的, 18.3 AJAX与开发框架 AJAX技术经常长时间的发
文档评论(0)