冷面阎罗

低调做人&&高调做事
随笔 - 208, 文章 - 3, 评论 - 593, 引用 - 0
数据加载中……

[转]关于AJAX的几个概念

书归正传,AJAX其实不是一种语言,甚至不是一种技术,它是几种技术的有机结合(Javascript、XML、CSS等等,其实有时还会用到更多的技术,比如偶钟情滴java^_^,就像推War3,要多个兵种加起来用才够厉害。。。跑题了~~~~)。Javascript作为脚本语言,用Javascript操作XML和CSS,用XML做为数据的存储介质,用CSS显示效果和状态。

这里不得不提的一项内容就是XMLHttpRequest,偶认为这是真正Ajax的核心东东(可能是偶见识太少了- -!),它可以模拟Request对象向服务器提交请求,并返回请求结果,这就摒弃了原有的让人等的好烦的白白的浏览器显示页!!用句不怎么术的术语说就是“动态无刷新”。废话不说,来看看这么强大的DD是怎么实现的~~~

不同的浏览器实现的方式不一样,对于Mozilla, Firefox, Safari, 和Netscape浏览器:

var xmlhttp=new XMLHttpRequest()

对于Internet Explorer:

var xmlhttp=CreatActiveObject("Micosoft.XMLHttp")

编程要点:

---------------------------属性--------------------------------

属性 值类型 说明
onreadystatechange 回调函数名称的字符串 指明回调函数
readyState 请求状态代码,共四种状态:
0    未初始化
1    正在装载
2    装载完毕
3    交互中
4    完成
XMLHttpRequest对象的请求状态
responseText 返回数据的字符串形式 以字符串形式存储该请求返回的数据
responseXML 返回一个Xml Document对象 以XML数据形式存储请求返回的数据
status 请求所返回的HTTP返回码:
"100" : Continue
"101" : witching Protocols
"200" : OK
"201" : Created
"202" : Accepted
"203" : Non-Authoritative Information
"204" : No Content
"205" : Reset Content
"206" : Partial Content
"300" : Multiple Choices
"301" : Moved Permanently
"302" : Found
"303" : See Other
"304" : Not Modified
"305" : Use Proxy
"307" : Temporary Redirect
"400" : Bad Request
"401" : Unauthorized
"402" : Payment Required
"403" : Forbidden
"404" : Not Found
"405" : Method Not Allowed
"406" : Not Acceptable
"407" : Proxy Authentication Required
"408" : Request Time-out
"409" : Conflict
"410" : Gone
"411" : Length Required
"412" : Precondition Failed
"413" : Request Entity Too Large
"414" : Request-URI Too Large
"415" : Unsupported Media Type
"416" : Requested range not satisfiable
"417" : Expectation Failed
"500" : Internal Server Error
"501" : Not Implemented
"502" : Bad Gateway
"503" : Service Unavailable
"504" : Gateway Time-out
"505" : HTTP Version not supported

其实实际用的时候记着200是OK(本地调试时OK状态会返回0),404是NO FOUND就可以了!

该XMLHttpRequest所做的请求返回的HTTP返回码
statusText 字符串,此属性只读,以BSTR返回当前请求的响应行状态,此属性仅当数据发送并接收完毕后才可获取。 XMLHttpRequest所做的Http请求返回信息

---------------------------方法---------------------------

方法 参数 返回值 说明
abort() 取消当前的请求
getAllResponseHeaders() 以字符串形式返回所有的HTTP头 以字符串形式返回所有的HTTP头
getResponseHeader("headerName") headerName参数指定的http头字符串 返回指定的HTTP头字符串 从响应信息中获取指定的http头
open('method','URL',async,'uname','pswd') method字符串指定用何方法发送请求,比如POST、GET、PUT及PROPFIND。大小写不敏感
URL字符串指定请求的HTTP地址,可以为绝对路径也可以为相对路径
async布尔值指定请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
uname字符串指定用于服务器验证用户名,如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。
pswd字符串指定验证信息中的密码部分,如果用户名为空则此部分被忽略。
创建一个新的http请求,并指定此请求的方法、URL以及验证信息
send(content) content参数可以是任何想发送到服务器端的数据 发送请求到http服务器并接收回应,此方法的同步或异步方式取决于open方法中的bAsync参数,如果bAsync == False,此方法将会等待请求完成或者超时时才会返回,如果bAsync == True,此方法将立即返回。如果发送的数据为XML DOM object,则回应将被编码为在xml文档中声明的编码,如果在xml文档中没有声明编码,则使用默认的UTF-8。
setRequestHeader("label","value") label字符串指定头名称
value字符串指定头的值
单独指定请求的某个http头,如果已经存在已此名称命名的http头,则覆盖之。此方法必须在open方法后调用。

posted on 2007-03-15 20:22 冷面阎罗 阅读(1823) 评论(1)  编辑  收藏 所属分类: 其他ajax

评论

#  [转]关于AJAX的几个概念  回复  更多评论   

^_^。。来搞war3啊~~~

以前也是做java,现在专注于flash~~~~~~~~~~

常来搞war3咯~~~
2007-03-16 15:31 | array --msn:wccshow@gmail.com

只有注册用户登录后才能发表评论。


网站导航: