Ajax原理
<h3>Ajax原理</h3>
<hr />
<ul>
<li>Ajaxde 原理简单来说是在用户和服务器之间加了1个中间层(AJAX引擎),通过XmlHttpRequest对象来向服务器发异步请求,从服务器获取数据,然后用javascript来操作DoM而更新页面。使用户操作与服务器异步化。
使用户操作与服务器响应异步化。</li>
<li>Ajax的过程只涉及Javascript/XMLHttpRequest和DOM.
XMLHttpRequest是Ajax的核心机制
<pre><code class="language-javascript">//1.创建连接
var xml = null;
xml = new XMLHttpRequest();
//2.连接服务器
xml.open('get',url,true)
//3.发送请求
xml.send(null);
//4.接受请求
xhr.onreadystatechage = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
success(xhr.responseText)
}else{
fail && fail(xhr.status)
}
}
}</code></pre>
<h3>ajax有哪些优点?</h3></li>
<li>
<p>优点:
1.通过异步模式,提升了用户体验。
2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了宽带占用
3.Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了服务器的过载
4.Ajax可以实现动态不刷新(局部刷新)</p>
</li>
<li>缺点:
1.安全问题ajax暴露了与服务器交互细节
2.对搜索引擎支持比较弱
3.不容易调试</li>
</ul>
<h3>如何解决跨域问题?</h3>
<ul>
<li>jsonp、iframe、window.name、window.postMessage服务器上设置代理页面</li>
</ul>