ajax 是什么?ajax 的交互模型?同步和异步的区别
ajax技术的核心是XMLHttpRequest对象(简称XHR),这是由微软首先引入的一个特性,其他浏览器后来都引入了相同的实现。在XHR出现之前,我们必须借助于iframe、flash等hack技术来实现通信。XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步的方式从服务器取得更多信息,意味着用户单击后,可以不必刷新新页面也能取得新数据。也就是说,可以使用XHR对象取得新数据,然后再通过DOM将新数据插入到页面中。另外,虽然名字中包含XML,但是ajax通信与数据格式无关,这种技术就是无须刷新页面即可从服务器取得数据,但不一定是XML数据。
var xhr = null;
if(XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("XMLHTTPRequest");
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status){
console.log(xhr.responseText);
}
}
xhr.open("get","you.domain.com");
xhr.send(null);
同步与异步
- 同步:会卡顿,假死
- 异步:基于事件驱动,不会出现假死的现象