不可否认,我是非常看好ajax技术的。我以为ajax技术对于互联网,就像html对于互联网一样。但同时又要看到,ajax技术不能完全取代我们常规的web开发技术。ajax技术有它让人眼睛一亮的优点,同时它也有很多弱点。我们作为开发人员,不能因为ajax技术好,就在web开发中全部使用ajax。
对了,不能为了ajax而ajax,就像钢要用到刀刃上一样,ajax应该用在能充分发挥它的优点的地方。而大多数的时候,我们还需要和往常一样,使用mvc的实现struts开发框架。
提到ajax,不能不提到与它一起被强调的另一个词:用户体验。ajax丰富了b/s模式的表现层,对于b/s模式的ui来说,它号称没有做不到、只有想不到。这里说来说去,都是一个用户体验的问题。ajax号称无刷新,其实很多时候,用户需要有刷新才能知道有了页面提交,如在保存数据的时候,所以在这个时候使用ajax却有害于用户体验的。
那么在什么时候可能使用到ajax呢?第一、请求的提交是为了页面数据的显示,这时候用户一般不希望看到页面的刷新,是使用ajax的一个最佳时候。第二、如果请求提交后,用户能从页面感觉到提交结果,这时候,也最好不要有页面刷新,推荐使用ajax技术。第三、如果请求提交后,用户不能从页面感觉到提交动作,如绝大多数时候的数据的增加和修改,这时候则需要页面刷新,不能使用ajax技术。第四、复杂的ui,以前对于复杂的c/s模式的ui,b/s模式一向采取逃避的方法,现在则可以放心大胆的使用ajax来加以解决。
ajax技术的实践,就像有了魔法一样,一旦你使用了一次,就会爱不释手。面对精彩的ajax技术,还等什么?赶快看看您的web应用里,有没有下列问题之一,如果有的话,不妨用ajax试试看!
第一、输入值校验的问题。
输入校验是我们经常遇到的问题,这种问题很多时候是可以在js里解决。但有些时候却需要访问后台,如在申请用户的时候检查用户名是否重复等等问题。用ajax吧,页面不会有刷新。
第二、级联显示的问题。
这种问题应该是我们遇到的最多的表现层的问题,常常让我们左右为难:你说访问后台吧,页面需要刷新,用户体验很不好;你说用js解决吧,确实有点让js勉为其难,强行用js解决了,代码一大堆不说,数据量大的话还会有内存问题,而且数据也不安全。
这类的问题很多:最常见的是级联的两个或更多的选择框,还有选择框的变形,级联菜单,导航树等等。
遇到了这一类的问题,赶快行动吧!用ajax访问后台,既不需要刷新页面,也没有过多的js代码,一举两得。
第三、请求结果只改变部分页面。
这一类的问题我们也会时常碰到,如,论坛的回复帖子和帖子列表在一个页面上的时候。这两个ui在一个页面上,用户体验比回复帖子在另外一个页面好。但回复后要对整个页面进行刷新,这种感觉就不好了。你看,那么大一个帖子列表,只增加你的一个回复,却要对整个页面进行刷新,不管从哪个角度来看都不好。
这一类的问题不管是用户体验,还是从技术的角度来讲,都是使用ajax最好不过。
第四、由于技术原因而使用iframe的问题。
iframe的问题纯粹是由于技术的原因引起的。为了解决技术问题而引入iframe,却iframe的一再嵌套却又引入了其他的技术难题。有的想尽办法来勉强解决这个问题,有的却干脆不要使用iframe。不使用iframe,而使用js的解决方法却是繁琐的。现在不用左右为难了,使用ajax就是最好的解决方案。
第五、数据录入和列表显示在同一个页面。
c/s模式的ui中常常有数据录入和数据列表显示在同一个界面上,这样对于用户来说有很好的用户体验,用户录入的结果马上就能在同一界面显示。但是在b/s的ui上,由于需要提交刷新的问题,我们经常把数据的录入和数据显示分别放在两个不同的页面上。很显然,这样的用户体验肯定没有c/s模式来得好。像这样的问题还有很多,在b/s模式下,都因为技术的原因而选择其他的解决办法。现在我们可以自豪的使用ajax来宣告可以做出和c/s模式一样复杂的ui了。
第六、翻页问题。
如果有技术可以使翻页不需要刷新,你愿不愿意尝试一下呢?有很多这样的数据显示的问题需要刷新哦,考虑一下ajax!