




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第18章PHP与AJAX,AJAX的英文全称是“AsynchronousJavaScriptandXML”,即异步JavaScript和XML。是一种用来开发交互性网页的技术,其本身由多种技术组成。本章主要介绍AJAX的原理与使用方法,在学习本章之前,读者可以提前了解一些关于JavaScript的知识,便于理解文中内容。在本章最后,将介绍一个用于PHP开发的AJAX框架SAJAX,以及其使用方法。,18.1AJAX引擎与数据提交,AJAX最显著的一个特点,就是在不安装任何插件的情况下,可以用于创建功能丰富的客户端,同时结合XHTML与CSS技术,大大提升了客户体验。本节主要介绍AJAX的原理、使用方法,以及与服务器端代码的配合。,18.1.1AJAX工作原理,AJAX技术之所以迷人,是因为其打破了常规的网页浏览方式,不仅提升了客户体验,同时对于提升程序运行效率,也有很大帮助。对于刚接解AJAX的读者来说,可能生涩的术语,并不能帮助其理解AJAX的工作原理。最直观的方法,就是使用图形的方法来展示其运行过程。,18.1.2AJAX初始化,在了解了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.2PHP与数据格式,本章18.1小节主要介绍了AJAX引擎的实现,以及使用方法。在18.1节的演示代码中,通过GET或POST方法提交请求后,PHP脚本返回的都是没有规律的文本信息。而实际应用中,返回数据要复杂的多,这就要求PHP脚本要返回格式化的数据,以便于客户端脚本使用。,18.2.1PHP、JavaScript、XML,在AJAX模型中,PHP的角色就是服务器端脚本,用于把服务器的资源转化为XML格式的数据。在本书的2.1.9小节中,介绍了使用XML格式的文件,用于PHP与JavaScript进行数据交换的方法。其中PHP使用的是DOM函数来操作XML,JavaScript用于处理XML的是Microsoft.XMLDOM组件。,18.2.2PHP、JavaScript、JSON,在AJAX中处理XML比较复杂,可以使用更简单JSON来替换XML。JSON是JavaScriptObjectNotation的缩写,相对于XML来说,JavaScript在处理JSON时更加方便,高效。为了使读者更加直观的了解JSON,下面列出三段代码,这三段代码存储的数据是一样的,其中第1段是使用PHP数组存储的,第2段是使用XML来存储的,第3段是使用JSON格式存储的,演示代码如下所示。使用PHP数据组存储数据的代码:,18.2.3PHP与Javascript,在经过了使用XML、以及JSON进行数据处理后,还可以使用JavaScript语句本身,来进行数据交换,下面通过代码演示,如果在AJAX返回数据中使用JavaScript语句,代码如清单所示。,18.2.4AJAX通用类,在本章第18.1.2小节中,介绍了AJAX的核心代码,并使用其进行了简单的AJAX演示。虽然这段代码可以运行,但是在实际应用中,其对浏览器的兼容性,以及使用灵活性方面,都不尽人意。在AJAX开发中,许多开发人员为了编写代码的方便,编写了很多易于使用,功能强大的AJAX类,下面就介绍其中一款名为AJAXRequest的AJAX通用类。AJAXRequest实现的功能很简单,主要是为了减化开发步骤,减少重复代码而开发的,,18.3AJAX与开发框架,AJAX技术经常长时间的发展后,已经变得相当成熟,互联网上也出现了许多针对于PHP的AJAX开发框架,本节主要介绍一个用于PHP开发的AJAX框架SAJAX。,18.3.1SAJAX安装与使用,SAJAX是一个跨平台、跨浏览器的AJAX开发框架,并支持多种开发语言,包括asp、coldfusion、io、lua、perl、php、python、ruby。SAJAX可以从其官方网站下载到,其官方网站的网址是,18.3.2使用SAJAX显示服务器时间,众所周知,JavaScript是在客户端运行的脚本,并不能访问服务端的资源,例如取得服务时间,但是使用AJAX技术,就可以实现这一功能,下面介绍使用SAJAX访问服务器时间的方法,代码如清单所示。,18.3.3使用SAJAX提交表单,使用SAJAX提交表单,也就是AJAX使用POST方式提交数据的实现,下面通过演示,介绍SAJAX使用POST方法提交数据的方法,代码如清单18.11所示。,18.3.4SAJAX的返回数据类型,SAJAX不仅可以返回字符串型的内容,也可以返回数组、对象、整型、浮点型的数据,下面通过代码来演示,如何在SAJAX中返回这些类型的数据,代码如清单所示。(详细内容请参照本书)在清单的代码中,为了使返回的中文字符不显示为乱码,在脚本开始时,先输出了头文件信息,保证以后输出的内容,都是以GB2312编码的字符。,18.4常见问题,本章主要演示了AJAX技术原理,以及应用实例。并介绍和演示了SAJAX开发框架。本节将列出关于使用AJAX技术时,容易出现的问题,以及解决方法,供读者参考。,18.4.1POST与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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安装水电施工合同范本
- 房屋租赁家具合同范本
- 种子种苗合同范本
- 专利转让免税合同范本
- 门店合伙合同范本6
- 航空航天装备钣金制造基地项目可行性研究报告模板-立项备案
- 保险中标合同范本
- 活动策划举办合同范本
- 铝单板补充合同范本
- 保洁公司雇佣合同范本
- GB/T 30790.6-2014色漆和清漆防护涂料体系对钢结构的防腐蚀保护第6部分:实验室性能测试方法
- 信息互联互通标准化成熟度测评-医科总医院
- 《氧化还原反应》完整版课件
- 人工智能导论课件
- 做一名新时代的优秀教师课件
- 中国古代的美育思想课件
- 日周月安全检查记录表
- 风力发电项目报价清单 (风机基础等)
- 重庆物业服务收费管理办法-重庆物价局
- GA∕T 1046-2013 居民身份证指纹采集基本规程
- (高清正版)SL 310-2019 村镇供水工程技术规范(完整版)
评论
0/150
提交评论