完整Ajax的六个步骤
- 跨平台取得XMLHttpRequest对象
- 绑定事件回调
- 判定处理状态
- 发出请求
- 设置首部
- 在POST请求时,通过send方法发送数据
取得XMLHttpRequest对象
IE8+、Firefox、Opera、Chrome和Safari都支持原生的XHR对象,创建方法:
var xhr = new XMLHttpRequest();
IE6之前的使用ActiveXObject,需要传入正确的参数。IE7不支持本地file协议,会出现拒绝访问,需要倒退到ActiveXObject对象。
XHR的事件绑定与状态维护
XMLHttpRequest对象之open()
接受 3 个参数:要发送的请求的类型( "get" 、 "post" 等) 、请求的 URL 和表示是否异步发送请求的布尔值。
xhr.open("get", "example.php", false);
只能向同一个域中使用相同端口和协议的 URL 发送请求。如果 URL 与启动请求的页面有任何差别,都会引发安全错误。调用 open() 方法并不会真正发送请求,而只是启动一个请求以备发送。
XMLHttpRequest对象之send()