php常用函数和实例电子教案第18章与ajax_第1页
php常用函数和实例电子教案第18章与ajax_第2页
php常用函数和实例电子教案第18章与ajax_第3页
php常用函数和实例电子教案第18章与ajax_第4页
php常用函数和实例电子教案第18章与ajax_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第18章 PHP与AJAXAJAX的英文全称是“Asynchronous JavaScript and XML”,即异步JavaScript和XML。是一种用来开发交互性网页的技术,其本身由多种技术组成。本章主要介绍AJAX的原理与使用方法,在学习本章之前,读者可以提前了解一些关于JavaScript的知识,便于理解文中内容。在本章最后,将介绍一个用于PHP开发的AJAX框架SAJAX,以及其使用方法。18.1 AJAX引擎与数据提交AJAX最显著的一个特点,就是在不安装任何插件的情况下,可以用于创建功能丰富的客户端,同时结合XHTML与CSS技术,大大提升了客户体验。本节主要介绍AJAX的原

2、理、使用方法,以及与服务器端代码的配合。18.1.1 AJAX工作原理AJAX技术之所以迷人,是因为其打破了常规的网页浏览方式,不仅提升了客户体验,同时对于提升程序运行效率,也有很大帮助。对于刚接解AJAX的读者来说,可能生涩的术语,并不能帮助其理解AJAX的工作原理。最直观的方法,就是使用图形的方法来展示其运行过程。18.1.2 AJAX初始化在了解了AJAX的工作原理后,就可以从基本的AJAX代码开始,实现AJAX模型。在整个AJAX模型中,用于实现异步回调的代码是关键,这段代码可以称为AJAX的引擎。要实现AJAX引擎,就要从一个JavaScript对象开始,这个对象的名称是XMLHtt

3、pRequest,使用这个对象可以完成HTTP请求、XML解析等操作。下面演示如何实现AJAX引擎,代码如清单 所示。(详细内容请参照本书)至此AJAX的初始化已经完成了,在接下来的小节中,就可以这个AJAX引擎来开发AJAX程序了。18.1.3 使用GET方法提交请求在以前的章节中,介绍过PHP与JavaScript使用XML文件,互相传递数据的方法,但是其过程缺点较多。在学习了AJAX的知识后,可以使用AJAX引擎,更高效的实现数据交互。HTTP请求分为GET和POST两种方法,下面的例子将使用HTTP的GET方法,向当前脚本页提交数据,并在不刷新页面的情况下,使用PHP代码中的数据,更新

4、当前页面内容,代码如下清单所示。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模型中,P

5、HP的角色就是服务器端脚本,用于把服务器的资源转化为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,下面列出三段

6、代码,这三段代码存储的数据是一样的,其中第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演示。虽然这段代码可以运行,但是在实际应用中,其对浏览器的兼容性,以及使用灵

7、活性方面,都不尽人意。在AJAX开发中,许多开发人员为了编写代码的方便,编写了很多易于使用,功能强大的AJAX类,下面就介绍其中一款名为AJAXRequest的AJAX通用类。AJAXRequest实现的功能很简单,主要是为了减化开发步骤,减少重复代码而开发的,18.3 AJAX与开发框架AJAX技术经常长时间的发展后,已经变得相当成熟,互联网上也出现了许多针对于PHP的AJAX开发框架,本节主要介绍一个用于PHP开发的AJAX框架SAJAX。18.3.1 SAJAX安装与使用SAJAX是一个跨平台、跨浏览器的AJAX开发框架,并支持多种开发语言,包括asp、coldfusion、io、lua

8、、perl、php、python、ruby。SAJAX可以从其官方网站下载到,其官方网站的网址是 ,本小节使用的SAJAX版本的下载地址是 sajax-0.12.zip。下载的压缩包内包括了多种语言的SAJAX,SAJAX只有一个文件,解压缩文件后,可以从其文件夹中,复制PHP语言使用的sajax.php,到当前使用项目,或把SAJAX的PHP源代码,集成到要开发的项目中,18.3.2 使用SAJAX显示服务器时间众所周知,JavaScript是在客户端运行的脚本,并不能访问服务端的资源,例如取得服务时间,但是使用AJAX技术,就可以实现这一功能,下面介绍使用SAJAX访问服务器时间的方法,代

9、码如清单所示。18.3.3 使用SAJAX提交表单使用SAJAX提交表单,也就是AJAX使用POST方式提交数据的实现,下面通过演示,介绍SAJAX使用POST方法提交数据的方法,代码如清单18.11所示。18.3.4 SAJAX的返回数据类型SAJAX不仅可以返回字符串型的内容,也可以返回数组、对象、整型、浮点型的数据,下面通过代码来演示,如何在SAJAX中返回这些类型的数据,代码如清单所示。(详细内容请参照本书)在清单的代码中,为了使返回的中文字符不显示为乱码,在脚本开始时,先输出了头文件信息,保证以后输出的内容,都是以GB2312编码的字符。18.4 常见问题本章主要演示了AJAX技术原

10、理,以及应用实例。并介绍和演示了SAJAX开发框架。本节将列出关于使用AJAX技术时,容易出现的问题,以及解决方法,供读者参考。18.4.1 POST与GET方法在AJAX编程中,使用GET方法提交据,主要用于需要处理的数据量比较小的情况下,其使用方法比较简单,而POST方法在使用时与GET方法有所差别,这一点在使用时,很容易被疏忽。在实际使用中,可以把AJAX中的JavaScript代码,使用类进行封装,或直接使用第三方的AJAX类。如果要在PHP程序中,加入AJAX的支持,可以直接使用AJAX开发框架,例如:SAJAX。18.4.2 中文乱码在AJAX编程中,最令开发人员头痛的就是中文字符的编码问题。通用的解决方法是,在客户端提交数据前对数据进行编码,例如使用JavaScript语言的ecsape()函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论