[转]关于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方法后调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值