1.首先创建一个ajax对象 new XMLHttpRequest
注:ie6:new ActiveXObject('Microsoft.XMLHTTP')
2.通过建好的ajax对象下属性和方法来完成数据交互工作,open('交互方式get/post' , '文件的url地址' , '是否异步true/false');
注: 是否异步默认值为true 。
false 表示同步,如果同步,在send步骤会导致堵塞。如果同步,事件的监听要在事件触发之前去做。
3. 发送 send
4.事件监听。
onreadystatechange: 当状态值发生改变的时候触发事件
readyState: ajax工作状态,数字类型0-4
responseText : 保存的是服务器返回过来的内容。ajax会把服务器返回过来的数据解析成字符串存到responseText下面
status : 返回的服务器状态,比如404 , 200
------------------------------------------------------------------------------------------------------------------------------------------
get 传输: 1.浏览器会有缓存,在url后面加随机数
2.特殊内容需要进行编码传输,比如中文encodeURI('中文')
post 传输:1.要发送的数据放在send()方法中,作为他参数 xhr.send('username=aa&age=11');
2.通过发送请求头信息,处理表单中的数据url编码 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
--------------------------------------------------------------------------------------------------------------------------------------------
后端返回的数据是JSON 或者 数组的字符串,因为responseText获取到内容都会是字符串,所以通过以下方法改变数据格式
var data = JSON.parse(xhr.responseText);