php教学教材精品PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图9.2 AJAX引擎的工作原理
9.1.2 AJAX初始化
不同的浏览器使用不同的方法来创建XMLHttpRequest对象。Internet Explorer
使用 ActiveXObject。其他浏览器使用名为XMLHttpRequest的JavaScript内建对象。
例如,以下代码将创建一个XMLHttpRequest对象:
图9.1 传统Web应用工作原理
9.1.1 AJAX的工作原理
与传统Web应用不同的是,AJAX采用异步交互过程。AJAX可以仅向服务器 发送并取回必须的数据,它使用SOAP(简单对象访问协议)或其他一些基于 XML的Web Service接口,并在客户端采用JavaScript处理来自服务器的响应。用 户在页面上获得的数据是通过AJAX引擎提供的,由于页面不需要与服务器直接 交互,所以客户端浏览器不需要刷新页面就能获得服务器的信息,提高了页面的 友好度。如图9.2所示的就是AJAX引擎的工作原理。
<?php //实现AJAX引擎
?>
பைடு நூலகம்
<script> var XMLHttp=null
//创建一个作为XMLHttpRequest对象使用的XMLHttp变量
if (window.XMLHttpRequest) //判断XMLHttpRequest对象是否可用
{
//如果可用则创建一个新的XMLHttpRequest对象
if(XMLHttp. status==200) {
//页面正常 } else {
window.alert("页面有问题"); } XMLHttpRequest对象的statusTextHTTP属性保存了HTTP状态码的相应文本, 如OK或Not Found等。 XMLHttpRequest对成功返回的信息有两种处理方式: ● responseText。将传回的信息当字符串使用。 ● responseXML。将传回的信息当XML文档使用,可以用DOM处理。
第9章 PHP与AJAX
9.1 AJAX基础 9.2 PHP与AJAX交互
9.1 AJAX基础
9.1.1 AJAX的工作原理 传统Web应用允许用户填写表单,当提交表单时向Web服务器发送一个HTTP
请求。服务器接收并处理传来的表单,然后返回一个新的网页到用户浏览器。如 图9.1所示的就是传统Web应用的工作原理。使用传统Web应用时若要改变页面的 一小部分数据,需要重新加载整个页面,这是一种不友好的用户体验。而且由于 每次应用的交互都需要向服务器发送请求,应用的响应时间依赖于服务器的响应 时间,这有可能导致用户花费较长的等待时间。
}
</script>
9.1.2 AJAX初始化
说明:AJAX的编写方法与JavaScript类似,也是通过<script>标记来实现。 微软最新版本的Msxml2.XMLHTTP组件在Internet Explorer 6中可用。如果 要使用它来创建XMLHttpRequest对象,可以使用以下代码。
XMLHttp=new XMLHttpRequest()
} else if (window.ActiveXObject) //判断ActiveXObject是否可用
{ //如果可用则使用Microsoft.XMLHTTP组件来创建XMLHttpRequest对象
XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
//代码 }
9.1.5 处理服务器返回的信息
在进行操作前,处理函数首先需要判断请求目前的状态。表示请求状态的是 XMLHttpRequest对象的readyState属性。通过判断该属性的值就可以知道请求的状 态。有5个可取值:“0”表示未初始化,“1”表示正在加载,“2”表示已加载, “3”表示交互中,“4”表示完成。
9.1.3 发送HTTP请求
AJAX初始化后,就可以向服务器发送HTTP请求。通过调用 XMLHttpRequest对象的open()和send()方法即可实现这一功能。
open()方法的作用是建立对服务器的调用。语法格式如下: XMLHttp.open("method","url"[,flag]) 说明:method参数可以是GET或POST,对应表单的GET和POST方法。url 参数是页面要调用的地址,可以是相对URL或绝对URL。flag参数是一个标记位, 如果为true表示在等待被调用页面响应的时间内可以继续执行页面代码,为false 则相反,默认为true。 open()方法调用完后要调用send()方法,send()方法的作用是向服务器发送请 求,语法格式如下: XMLHttp.send(content)
readyState属性的值为4时,表示服务器已经传回了所有信息,可以开始处理 信息并更新页面内容了。例如:
if(XMLHttp.readyState==4) {
//处理信息 } else {
window.alert("请求还未成功"); }
9.1.5 处理服务器返回的信息
服务器返回信息后需要判断服务器的HTTP状态码,确定返回的页面没有错误。 通过判断XMLHttpRequest对象的status属性的值即可得到HTTP状态码。如200表 示OK(成功),404表示Not Found(未找到)。例如:
9.1.4 指定响应处理函数
发送服务器请求后,需要指定当服务器返回信息时客户端的处理方式。这是 只要将相应的处理函数的名称赋给XMLHttpRequest对象的onreadystatechange属性 即可。每当状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数。 例如:
XMLHttp.onreadystatechange=function_name XMLHttp为创建的XMLHttpRequest对象。函数名称function_name不加括号, 不指定参数。也可以使用JavaScript即时定义函数的方法来定义相应函数,例如: XMLHttp.onreadystatechange=function() {
相关文档
最新文档