1,全局刷新
- 必须由浏览器亲自向服务端发送请求协议包。
- 这个行为导致服务端直接将【响应包】发送到浏览器内存中
- 这个行为导致浏览器内存中原有内容被覆盖掉
- 这个行为导致浏览器在展示数据时候,只有响应数据可以展示
2,局部刷新
- 不能由浏览器发送请求给服务端
- 浏览器委托浏览器内存中一个脚本对象代替浏览器发送请求.
- 这个行为导致导致服务端直接将【响应包】发送脚本对象内存中
- 这个行为导致脚本对象内容被覆盖掉,但是此时浏览器内存中绝大部分内容没有收到任何影响.
- 这个行为导致浏览器在展示数据时候,同时展示原有数据和响应数据
3,AJAX异步实现步骤
1,创建对象方式:var xml = new XMLHttpRequest()
2,onreadstatechange:当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当readyState 改变时,就会触发onreadystatechange 事件。此事件可以指定一个处理函数function。
3,readyState属性:
- 0: 请求未初始化,创建异步请求对象var xmlHttp = new XMLHttpRequest()
- 1: 初始化异步请求对象,xmlHttp.open(请求方式,请求地址,true)
- 2: 异步对象发送请求,xmlHttp.send()
- 3: 异步对象接收应答数据从服务端返回数据。XMLHttpRequest内部处理。
- 4: 异步请求对象已经将数据解析完毕。此时才可以读取数据。
4,初始化请求参数:open(method,url,async):初始化异步请求对象
- method:请求的类型;GET 或POST
- url:服务器的servlet地址•
- async:true(异步)或false(同步)
5,发送请求 :xmlHttp.send()
6,接收服务器响应的数据
- XMLHttpRequest.responseText:获得字符串形式的响应数据
- XMLHttpRequest.responseXML:获得xml形式的相应数据
4,演示
jsp
servlet