======================================================
注:本文源代码点此下载
======================================================
ajax的一个重要对象:xmlhttprequest,它的几个方法
open():建立到服务器的新请求。
send():向服务器发送请求。
abort():退出当前请求。
getallresponseheaders():把http请求的所有响应首部作为键/值对返回。
getresponseheader(“header”):返回指定首部值。
setrequestheader(“header”,”ualue”):把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。
下面详细地讨论这些方法
void open(string method,string url,bollean asynch,string username,string password):这个方法会建立对服务器的调用。这是初始化一个请求的纯脚本方法。它有两个必要的参数,还有3个可选参数。要提供调用的特定方法(get、post、put),还要提供所调用资源的url。另外还可以传递一个boolean值,旨示这个调用是异步的还是同步的。默认值为true,表示请求本质上是异步的。如果这个参数为false,处理就会等待,直到从服务器返回响应为止。由于异步调用是使用ajax的主要优势之一,所以倘若将这个参数设置为false,从某些程度上讲与使用xmlhttprequest对象的初衷不太相符。不过,在某些情况下这个参数设置为false也是有用的,比如在持久存储页面之前可以先验证用户的输入。最后两个参数,允许指定一个特定的用户名和密码。
void send(content):这个方法具体向服务器发出请求。如果请求声明为异步的,这个方法就会立即返回,否则它会等待直到接收到响应为止。可选参数可以是dom对象的实例、输入流或者串。传入这个方法的内容会作为请求的一部分发送。
void setrequestheader(string header,string value):这个方法为http请求中一个给定的首部设置值。需要说明,这个方法必须在调用open()之后才能调用。
在这些方法中最有可以用到的就是open()和send()。
void abort():顾名思义,这个方法就是要停止请求。
string getresponseheader(string header):这个方法与getallresponseheaders()是对应的,不这过它有一个参数表示你希望得到的指定首部值,并且把这个值作为串返回。
除了这些方法,xmlhttprequest对象还提供了许多属性:
responsetext:服务器返回的请求响应文本。
responsexml:服务器的响应,表示为xml.这个对象可以解析为一个dom对象。
status:服务器的http状态码(200对应ok,404对应not found….)
statustext:http状态码的相应文本(ok或not found)
#所有这些代码都直接嵌套在 script 标记中。不放到方法或函数体中的 javascript 代码称为静态 javascript。就是说代码是在页面显示给用户之前的某个时候运行。
xmlhttprequest 惟一的目的是让您发送请求和接收响应。其他一切都是 javascript、css 或页面中其他代码的工作:改变用户界面、切换图像、解释服务器返回的数据。准备好 xmlhttprequest 之后,就可以向服务器发送请求了。
onreadystatechange属性;
需要特别注意的是该属性在代码中设置的位置 —— 它是在调用 send() 之前 设置的。发送请求之前必须设置该属性,这样服务器在回答完成请求之后
readystate:提供当前 html 的就绪状态。
http 就绪状态表示请求的状态或情形。它用于确定该请求是否已经开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。在 ajax 应用程序中需要了解五种就绪状态:
0:请求没有发出(在调用 open() 之前)。
1:请求已经建立但还没有发出(调用 send() 之前)。
2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
4:响应已完成,可以访问服务器响应并使用它。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/