Ajax的一些体会
Ajax的一些体会
Ajax一直都是一个很热的话题。其主要就是运用JavaScript在客户端执行的特性,异步的向服务器发起请求。同时服务器接受请求,获取请求过来的参数,同时返回一些数据。数据主要包括string类型和XML类型。
Ajax好在什么地方呢:首先他提交的数据相对较少,或者说他提交的是可控的,不会提交一些无用的数据。而一些像aspx,asp这些请求,他会把控件状态以及页面信息发送到服务器。从而提交了很多的不必要的数据,必然会影响速度。而且提交的数据多了,服务器反映也会慢一些。处理的数据也会多一些。不错Ajax在这一方面肯定有自己的优势,能够异步提交,不影响客户端的操作,同时提交的数据少,使得服务端能更好的反应。但是不得不考虑的就是。有很多时候,客户端的一些无意思的操作。也会引起数据的提交,从而使得服务端重复的去处理了这样的一些操作。所以,在页面触发提交操作的时候自己一定需要控制好这些流程。判断此提交的少本身是不是因为无意思而引起的。如果是,那么就不触发提交操作。
我曾经预见过这样的一个问题:
是在一个考试系统中,考试肯定需要涉及的就是提交考卷。如果提交考卷在结束考试铃声的时候,或者考生点击提交考卷以后再进行提交。那么不得不考虑的就是:再结束考试的时候提交的庞大的数据量的提交,同时还有很多是无用的数据。然后服务器很有可能因为这庞大的数据量就死掉。所以,不得不考虑使用Ajax来进行数据的提交。在考生每做完一个试题的时候就进行异步的数据的提交。在考试结束铃声响起的时候,只是修改考生对应的试卷的一个状态,表示试卷已经进行了交卷。就可以了。如果你使用页面整个数据的提交,那么如果有2W的考生,每个考生需要提交100道考题,其中还包括很多的什么简答题。那么在最后一步提交的数据量...。当然如果你的服务器很牛X,那我也没有办法。嘿嘿。异步的提交,他会把整张试卷分多个步骤提交上去。从而就减少了计算机一次性的计算量。不过,一些无用的操作也会引起数据的提交,例如,某个考生极端无聊,就在那里胡乱的乱修改答案,改成错误的再改成正确的。呵呵,这些肯定是无法避免的。同时服务端,在数据提交上去以后,一定要给出回应。判断是否提交成功。所以这个时候相对于后台语言,需要更多的JavaScript脚本语言。
同时Ajax在安全方面相对直接提交还是有所欠缺的。所以,在使用的时候还是需要注意的。同时JavaScript相对来说,调试并不像后台代码那样方面进行调试。很多错误提示并不是很准确。所以在编写的时候也是很耗费时间的。所以,在选择使用Ajax还是需要考虑一下。
同时我们也应该注重客户的感受。有的时候客户已经习惯于一次性的提交。反而异步提交,有些让人摸不着头脑。
说了这么多,不是说不占成使用Ajax,只是说在使用Ajax的时候。我们需要更多的考虑一些东西。