1.Ajax
只更新部分页面,有效利用带宽
提供连续的用户体验
提供类似C/S的交互效果,
操作更方便
2.传统Web与Ajax的差异
差异 | 方式 | 说 明 |
发送请求方式不同 | 传统Web | 浏览器发送同步请求 |
Ajax技术 | 异步引擎对象发送请求 | |
服务器响应不同 | 传统Web | 响应内容是一个完整页面 |
Ajax技术 | 响应内容只是需要的数据 | |
客户端处理方式不同 | 传统Web | 需等待服务器响应完成并重新加载整个页面后用户才能进行操作 |
Ajax技术 | 可以动态更新页面中的部分内容 不影响用户在页面进行其他操作 |
3.XMLHttpRequest常用方法
方 法 | 说 明 |
open( String method, String url, boolean async, String user, String password ) | 创建一个新的HTTP请求 |
send( String data ) | 发送请求到服务器端 |
abort( ) | 取消当前请求 |
setRequestHeader( String header, String value ) | 设置请求的某个HTTP头信息 |
getResponseHeader( String header ) | 获取响应的指定HTTP头信息 |
getAllResponseHeader( ) | 获取响应的所有HTTP头信息 |
4.XMLHttpRequest事件
传统Web与Ajax的差异onreadystatechange:指定回调函数
常用属性
readyState:XMLHttpRequest的状态信息
就绪状态码 | 说 明 |
0 | XMLHttpRequest对象未完成初始化 |
1 | XMLHttpRequest对象开始发送请求 |
2 | XMLHttpRequest对象的请求发送完成 |
3 | XMLHttpRequest对象开始读取响应 |
4 | XMLHttpRequest对象读取响应结束 |
5.get请求和post请求的区别
步 骤 | 请求方式 | 实 现 代 码 |
初始化组件 | GET | xmlHttpRequest.open( "GET", url, true ); |
POST | xmlHttpRequest.open( "POST", url, true ); xmlHttpRequest .setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); | |
发送请求 | GET | xmlHttpRequest.send( null ); |
POST | xmlHttpRequest.send( "key=xxx&type=12&year=2016" ); |
6. 使用jQuery实现Ajax
传统方式实现Ajax的不足
步骤繁琐
方法、属性、常用值较多不好记忆
处理复杂结构的响应数据(如XML格式)比较烦琐
浏览器兼容问题
7.使用$.ajax()发送请求
$.ajax( {
"url" : "url", // 要提交的URL路径
"type" : "get", // 发送请求的方式
"data" : data, // 要发送到服务器的数据
"dataType" : "text", // 指定传输的数据格式
"success" : function(result) { // 请求成功后要执行的代码
},
"error" : function() { // 请求失败后要执行的代码
}
} );
8.定义JSON对象
var JSON对象 = { "name" : value, "name" : value, …… };
var person = { "name" : "张三", "age" : 30, "spouse" : null };
9.jQuery中的Ajax方法
$.ajax()
$.get()
$.post()
$.getJSON()
.load()
……
可以省略对应的一部分