前言: ①Ajax的原理是在用户和服务器之间通过(AJAX引擎)加了—个中间层,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。使用户操作与服务器响应异步化。最关键的一步就是从服务器获得请求数据。
②Ajax的过程涉及JavaScript、XMLHttpRequest和DOM。核心机制是其XMLHttpRequest
Ajax的实现原理(代码分析)
var xhr = null;
xhr = new XMLHttpRequest()
/** 2. 连接服务器 **/
xhr.open('get', url, true)
/** 3. 发送请求 **/
xhr.send(null);
/** 4. 接受请求 **/
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
success(xhr.responseText);
} else {
/** false **/
fail && fail(xhr.status);
}
}
}
Ajax的优缺点
优点 | 缺点 |
---|---|
①通过异步模式,提升了用户体验. | ①安全问题 AJAX暴露了与服务器交互的细节。 |
②优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用. | ②对搜索引擎的支持比较弱。 |
③Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。 | ③不容易调试。 |
④Ajax可以实现动态不刷新(局部刷新) | ------ |