ajax–异步刷新页面部分内容的web服务器交互技术
-
创建XMLHttpReqest对象
- 这个对象相当于一个线程,用于在后台与服务器进行交互
- IE7以上用XMLHttpRequest对象
- IE5\6用ActiveXObject对象
- 常用写法
if(window.XMLHttpRequest){ xmlhttp= new XMLHttpRequest(); } else{ xmlhttp= new ActiveXObject(); }
-
设置响应验证函数
xmlhttp.onreadystatechange=state_Change;
readystate
改变的时候就会调用该函数
验证:xmhttp.readystate=4 && xmlhttp.status==200
表示响应已就绪 -
向服务器发送请求
xmlhttp.open("GET","url",true)
(method,url,是否异步)xmlhttp.send()
()或(string)
-
根据服务器回应改变页面
- 响应数据分responseText
和responseXML
- 利用数据改变页面(XML还需要解析)
利用promise.race()
实现异步执行超时
promise.race([])
顾名思义就是令异步任务队列赛跑,只输出最快执行的异步任务的结果- 利用这一点可以将需要执行的异步任务与一个定时器赛跑,如果定时器先执行结束则异步任务超时且不会继续执行下去