Ajax总结
ajax是基于web数据基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据可以从独立于实际网页的服务端取得并且可以被动态地写入网页中。说白了就是用js去提交数据服务器处理之后,由服务器输出然后使用js去取回并交给当前页面的程序去执行 (即后台提交 不刷新当前页)。 在对王兴奎的视频学习中,了解到AJAX在进行数据传输时,分为两种传输方式,一种是同步传输,一种是异步传输进行数据交互。 下面通过实例对AJAX的同步与异步进行说明。 同步交互原理:
function createXmlHttpRequest(nProducttemp,nCountrytemp) { var xmlhttp; // 判断是否把XMLHTTPRequest实现为一个本地javascript对象 if (window.XMLHttpRequest) { // FireFox,Opera等浏览器支持的创建方式 xmlhttp = new XMLHttpRequest(); } // 判断是否支持ActiveX控件 else if (window.ActiveXObject) { // IE浏览器支持的创建方式 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } var URL = "http://write.blog.csdn.net/postlist"; xmlhttp.open("GET",URL,false); //同步传输 xmlhttp.send(null); var result = xmlhttp.status; if (result == 200) { document.getElementById("控件的id").innerHTML = xmlhttp.responseText; } }异步交互方式:
function RequestByGet(nProducttemp,true);//异步传输 xmlhttp.onreadystatechange = callBack; xmlhttp.send(null); } //创建用户检测的回调函数 function callBack() { //判断对象的状态是否交互完成 if (xmlhttp.readyState == 4) { //判断http的交互是否成功 if (xmlhttp.status == 200) { document.getElementById("控件的id").innerHTML = xmlhttp.responseText; } } } 通过以上的代码,我们可以看出,Ajax在向服务器提交数据的类型时,即post还是get。提交的参数包括请求的url地址、传递的参数和传输方式,传输的方式即 false为同步,true为异步。默认为true。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作。 Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点: 1、最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。 2、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。 3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带 租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。 4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。 缺点: 1、对浏览器后退机制的破坏。 2、安全问题,Ajax技术就如同对数据建立直接通道,这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击 3、 对搜索引擎的支持比较弱。总结:通过对Ajax的学习与了解明白了,任何事物都有两方面,所以在进行选择时,不要只单纯的考虑一种,要学会同时考虑他们的利与弊。尤其是在编程这方面,根本没有最完美的解决方案,只有最适合的解决方案。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |