位置:海鸟网 > IT > XML >

AJAX解决的一些常见问题

    不可否认,我是非常看好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!