ajax的原理
通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。
Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
ajax的实现
1.创建XMLHTTPRequest对象
2.注册回调函数 xhr.onreadystatechange=callback;
3.设置和服务器端的链接信息。xhr.open(http请求方式(get,post),url,设置异步或同步方式交互(true,false));
4.发送数据开始交互。xhr.send(null);
5.接受响应数据。
ajax的优点
1.最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。
2.使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
3.把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4.基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax的缺点:
1.ajax干掉了back按钮,即对浏览器后退机制的破坏。
2.安全问题.ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。
3.对搜索引擎的支持比较弱
4.一些手持设备(如手机、PDA等)现在还不能很好的支持ajax。