Java Web知识点整理:第四章:AJAX相关

来源:互联网 发布:武汉干部网络培训学院 编辑:程序博客网 时间:2024/06/05 16:18
Ø AJAX 是 Asynchronous JavaScript And XML 的简称。直译为,异步的JS和XML。
Ø AJAX的实际意义是,不发生页面跳转、异步载入内容并改写页面内容的技术。
Ø AJAX也可以简单的理解为通过JS向服务器发送请求。
Ø AJAX这门技术很早就被发明,但是直到2005年被谷歌的大量使用,才在市场中流行起来,可以说Google为AJAX的推广起到到推波助澜的作用。
Ø XMLHttpRequest对象。
Ø 请求对象:
Ø 向服务器发送请求,毫无疑问需要使用Http协议,也就是我们需要通过JS来向服务器发送一个请求报文。这里我们来回顾一下请求报文的格式:
Ø 请求首行
请求头
空行
请求体
Ø 这是一个请求报文的格式,那我们如果手动的创建这么一个报文格式来发送给服务器想必是非常麻烦呢,于是浏览器为我们提供了一个XMLHttpRequest对象。
Ø XMLHttpRequest
Ø XMLHttpRequest对象是AJAX中非常重要的对象,所有的AJAX操作都是基于该对象的。
Ø XMLHttpRequest对象用来封装请求报文,我们向服务器发送的请求信息全部都需要封装到该对象中。
Ø 这里需要稍微注意一下,XMLHttpRequest对象并没有成为标准,但是现在的主流浏览器都支持该对象,而一些如IE6的老版本浏览器中的创建方式有一些区别,但是问题不大。
Ø 获取XMLHttpRequest对象:
n 由于浏览器之间的差异,不同浏览器中获取XMLHttpRequest的方式不同,但总的来说一共有三种方式:
u var xhr = new XMLHttpRequest()
l 目前主流浏览器都支持
u var xhr = new ActiveXObject("Msxml2.XMLHTTP")
l IE6支持的方式
u var xhr = new ActiveXObject("Microsoft.XMLHTTP")
l IE5.5以下支持的方式
Ø //获取XMLHttpRequest的通用方法
function getXMLHttpRequest(){
       var xhr;
       try{
               //大部分浏览器都支持
               xhr = new XMLHttpRequest();
       }catch(e){
               try{
                       //如果不支持,在这里捕获异常并且采用IE6支持的方式
                       xhr = new ActiveXObject("Msxml2.XMLHTTP");
               }catch(e){
                       //如果还不支持,在这里捕获异常并采用IE5支持的方式
                       xhr = new ActiveXObject("Microsoft.XMLHTTP");
               }
       }
       return xhr;
}
Ø XMLHttpRequest对象的方法:
n open(method,url,async)
u open()用于设置请求的基本信息,接收三个参数。
1. method
n 请求的方法:get或post
n 接收一个字符串
2. url
n 请求的地址,接收一个字符串
3. Assync
n 发送的请求是否为异步请求,接收一个布尔值。
n true 是异步请求
n false 不是异步请求(同步请求)
n send(string)
u send()用于将请求发送给服务器,可以接收一个参数
1. string参数
n 该参数只在发送post请求时需要。
n string参数用于设置请求体
n setRequestHeader(header,value)
u 用于设置请求头
1. header参数
n 字符串类型,要设置的请求头的名字
2. value参数
n 字符串类型,要设置的请求头的值
Ø XMLHttpRequest对象的属性:
n readyState
u 描述XMLHttpRequest的状态
u 一共有五种状态分别对应了五个数字:
Ø 0 :请求尚未初始化,open()尚未被调用
Ø 1 :服务器连接已建立,send()尚未被调用
Ø 2 :请求已接收,服务器尚未响应
Ø 3 :请求已处理,正在接收服务器发送的响应
Ø 4 :请求已处理完毕,且响应已就绪。
n status
u 请求的响应码
Ø 200 响应成功
Ø 404 页面为找到
Ø 500 服务器内部错误 
  … … … …
n onreadystatechange
u 该属性需要指向一个函数
u 该函数会在readyState属性发生改变时被调用
n responseText
u 获得字符串形式的响应数据。
n responseXML(用的比较少)
u 获得 XML 形式的响应数据。
0 0
原创粉丝点击