聊一聊Ajax的优缺点

所属分类: 网络编程 / AJAX相关 阅读数: 1396
收藏 0 赞 0 分享

Ajax,全称 Asynchronous Javascript and XML,是一个动态的WEB应用的开发技术,它的出现丰富了用户的体验。甚至用Ajax开发的WEB应用可以达到桌面应用程序的体验。当然,和其他技术一样Ajax同样也有其自身的优点和缺点。

使用Ajax的优点

1. 提升用户体验

提升用户体验这是使用Ajax最重要的原因之一。Ajax允许Web页面向服务端请求少量的数据来达到连续不断更新,使用这种方法就可以只刷新部分页面而不用重新加载整个页面。传统的WEB页面是通过重新加载整个页面来达到更新页面数据的效果的,即使需要更新的数据很少。所以说Ajax的使用提升了浏览器的性能并且通过这种响应式的用户体验大大提升了浏览的速度。

2. 提高工作效率

Ajax类库提供了很多的面向对象模式的辅助函数,这些类库大大提高了开发速度减少在开发过程中碰到的障碍。此外在很多成熟的框架中都有自己的数据层、业务层还有视图层,所以Ajax只需要一个特定的Ajax服务和在客户端的一些改进就可以实现想要的功能。这种方式的架构减少了在程序部署上话费的时间,并且提高了开发人员的工作效率。

3. 减少带宽的使用并且提升了访问速度

Ajax是使用客户端脚本和Web服务端进行交互,使用javascript来交换数据。使用Ajax可以减轻网络负载、减少带宽的使用并且只请求需要的数据,这些方面都是加快响应时间必要的因素。响应时间缩短了,性能和速度自然也就有很大的提高了。

4. 很好的兼容性

由于Ajax是客户端技术,所以对于常用的服务端编程语言来说,都可以实现Ajax服务端,比如:PHP、Java、ASP.NET、node.js等等。并且几乎所有的浏览器都支持Ajax。

5. 支持异步处理

通过使用XmlHttpRequest异步获取数据是Ajax的主要特点。在请求未被执行完之前,程序是可以继续向下执行的,在请求返回之后再去执行相应的操作。这样的机制正是提升Web性能的最主要的原因。

6. 使页面内容切换更简单

Ajax使得不同内容切换变得更加简单直观,用户不需要再使用浏览器上传统形式的回退和前进按钮来实现页面的前进和后退功能了。

使用Ajax的缺点

1. 浏览器之间的不兼容性

Ajax对于Javascript有很大的依赖性,因此在不同的浏览器上面的实现方式也是有所不同的。这就表明如果想跨浏览器实现Ajax那就必须对其进行相应的处理。如果有的浏览器不支持Javascript抑或是禁止了Javascript的此选项,那此浏览器就不支持Ajax,因此先前写的Ajax的功能在这类浏览器上就没有办法实现。正是由于Ajax依赖于Javascript的这一特性,所以Ajax不适合应用于手机端的应用。

2. 不安全

由于网页是很难调试的,因此随着你的代码量的增加,你的网页面临着越来越严重的威胁。

3. 增加了Web服务器的负载量

如果你在网页中增加了每隔几秒就自动向服务器请求更新数据的功能,那你的服务器的负载就会越来越大,严重的可能还会使服务器崩溃。

没错每一门技术既然有其优于其他同类技术的优点,那肯定也会存在相应的缺点,至于使用与否那取决于我们实际的项目需要,在实际工作中去衡量。

更多精彩内容其他人还在看

理解jquery ajax中的datatype属性选项值

jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理。
收藏 0 赞 0 分享

基于Jquery ajax技术实现间隔N秒向某页面传值

这篇文章给大家介绍jquery ajax技术实现每隔一段时间向某页面传值,以及setinterval()方法的语法介绍,对本文感兴趣的朋友可以参考下
收藏 0 赞 0 分享

通过Ajax两种方式讲解Struts2接收数组表单的方法

使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢?接下来,通过本文给大家介绍通过Ajax两种方式讲解Struts2接收数组表单的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Jquery.history解决ajax的前进后退问题

本文主要给大家介绍基于Jquery.history解决ajax的前进后退问题,涉及到jquery前进后退相关方面的知识,本文内容经典,非常具有参考价值,特此把jquery前进后退相关知识分享在脚本之家网站供大家参考
收藏 0 赞 0 分享

使用HTML5中postMessage知识点解决Ajax中POST跨域问题

这篇文章主要介绍了使用HTML5中postMessage知识点解决Ajax中POST跨域问题的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

谈谈你对aja的理解(一、二)

Ajax是Asynchronous Javascript And XML的缩写,其作用通过Ajax可以使用Javascript语句来调用XMLHttpRequest对象,直接与服务器进行通讯,可以在不重载页面的情况下与服务器交换数据。
收藏 0 赞 0 分享

关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结

最近比较空闲,于是抽个时间整理些关于ajax方法的东东。在项目中经常发现ajax板块好多问题都是属性,方法,事件大小写不区分问题,最终导致了程序运行出现麻烦,下面给大家介绍关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
收藏 0 赞 0 分享

Ajax请求session失效该如何解决

HTML + Servlet + Filter + jQuery 一般来说我们的项目都有登录过滤器,一般请求足以搞定。但是AJAX却是例外的,所以解决方法是设置响应为session失效。
收藏 0 赞 0 分享

编写轻量ajax组件02--浅析AjaxPro

ajaxpro虽然是一个比较老的组件,不过实现思想和源码还是很有借鉴价值的。接下来通过本篇文章给大家介绍编写轻量ajax组件02--浅析AjaxPro,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

编写轻量ajax组件01-与webform平台上的各种实现方式比较

这篇文章主要介绍了编写轻量ajax组件01-与webform平台上的各种实现方式比较,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多