当前位置:编程学习 > C#/ASP.NET >>

谈ajax的优点与缺点

各位对ajax感兴趣的朋友,欢迎大家进来谈下ajax的优点与缺点,着重谈下缺点. --------------------编程问答-------------------- 加重了客户端的负担,减轻了服务器的处理量,增强了用户体验。 --------------------编程问答-------------------- 改变了服务器输出html方式,仅仅输出个别html标签和片断javascript代码,而不是整个页面了。因此缺点就是更加面向对象地组织web应用了。 --------------------编程问答-------------------- 我对肥客户端不看好。我觉得asp.net ajax会是过眼云烟。如果我们真的需要那么强大的客户端,就不必死守b/s模式了。今天的asp.net ajax程序很难达到asp.net程序的水平,操作中随时都有许多对象需要交给服务器处理,今天asp.net ajax之所以比追捧很大程度上是因为它没有正式发布就吹得很厉害。我觉得与其建立asp.net ajax只服务自己一家的开发平台,不如把html协议更丰富和简练造福更多web服务器开发平台。 --------------------编程问答-------------------- 我觉得vista流行起来恐怕至少得3年,即使流行起来,原来得web网站也不会被淘汰。

目前得客户端最大的局限在于显示能力不够强大,各个浏览器的兼容性还是不太好,这个有待于行业标准的发布。

总体来说,AJAX的出现让我们为之一振,AJAX绝对不是过眼烟云,大家看看,现在哪个网站没有AJAX,如果说AJAX小大小闹,那么看看google mail,google talk,google map! --------------------编程问答-------------------- AJAX的缺点:
1  浏览器对js脚本兼容性不好
2  增加第一次传输的网络负载
3  可能会暴露服务器端口 --------------------编程问答-------------------- AJAX另一个主要缺点是,开发成本较高。
降很多时间浪费在界面上。
这对于初级应用来说,实在是得不偿失。

我们一般开发的应用没有必要和Google他们搞得那些玩意相比。 --------------------编程问答-------------------- 好处是不用刷新,有利于用户体验

缺点是加重浏览器负担,当网速慢时,容易浏览器死掉. --------------------编程问答-------------------- 缺点还有就是有在客户端不能根据的返回值判断是否再提交到客户端吧? --------------------编程问答-------------------- 要仔细,我说的是“asp.net ajax会是过眼云烟”! --------------------编程问答-------------------- ajax肯定会被替代,因为不够傻瓜. --------------------编程问答-------------------- 我也谈一点体会。前几日将一个asp.net20的web程序添加ms ajax支持后,发现自己做的一个服务器控件不能用了。看一下页面源码才明白,ajax将异步取回的页面内容以java脚本更改当前页面元素的内容,而象同步提交那样页面元素直接改变。而我的服务器控件内部使用了registerclientscriptblock定义了客户端脚本输出,在异步取回时这些脚本不会被写在页面文本中,因此出现问题。后来将脚本分离到专门一个.js文件中并包含,才算能凑合着用。
同样,如果你在page的服务器端代码中使用了registerclientscript,那么异步提交后这些代码也不会出现在页面文本中。
我想到的一个解决方案就是将要用的javascript代码作为.dll的资源编译,并且在<scriptmanager>中注册;但感觉也不是太好,无论如何原来的服务器控件都不能独立运作,必须依靠外界(<scriptmanager>)支持才成。 --------------------编程问答-------------------- 关于最基本最简单的Ajax方法(但是其实不包括X,也没有几个框架把X这个字母当作真的戒律),我在另一个帖子有一个代码例子:

  http://community.csdn.net/Expert/topic/5297/5297764.xml?temp=.1042292

asp.net ajax如果只是为了实现ajax基本功能,就用不着这么多年了,10天就可以推出最终产品了。 --------------------编程问答-------------------- 用一下ajax还是有必要的。 --------------------编程问答-------------------- 既然说到这个,那么就把asp.net ajax所要解决的简单想当然的那些ajax框架的一个致命缺点说一下:

ajax的出现使得web响应变得干净利索,结果就是带来程序员希望更多、更细地使用ajax。像google map那种几乎不算是什么现代ajax的应用,它仅需要下载很少的资料,很少的交互,它只是先发制人启动了人们对ajax的兴趣而已。

接下来ajax如果仅仅当作一个“乘法计算器”之类的无状态web服务就显得很苍白了,开发方法需要和ui组件的开发结合起来,但是现在没有一个web开发平台是基于jaavscript来开发组件的,asp.net中可以开发服务器控件并且可以在vs中拖拉、设置属性等但是毕竟都是服务器端的。这是低级ajax缺点之一。

例如当用户在界面上输入“爱好”的时候,界面上可能有20个散布在页面各个角落的控件需要局部刷新,UpdatePanel显然是一种非常蹩脚的设计(仅仅为了更方便地与asp.net的postback处理流程相结合)。一个动作的后台处理刷新前台多个控件,而具体刷新哪些控件应该是动作在运行时决定,而不是设计静态界面时决定的。这是低级ajax缺点之二。

服务器端组件以现在asp.net的处理机制造成的在服务器端不断重建大量控件、然后恢复状态、触发服务器端事件、输出相应的html等,结果每一个ajax交互其实都相对来说“很慢”,如果页面根本不需要重建(就像很多不懂asp.net的人已开始想象的那样)那么效率可以大幅提高几百倍,或者干脆放到客户端去处理。这是低级ajax缺点之三。 --------------------编程问答-------------------- 然而提出问题未必就能解决问题。asp.net ajax比较全面地面向真正的ajax开发需求,这是好事。不过我怀疑asp.net ajax的基本设计思路,这是另外一回事。我对它的怀疑就不细说了,主要一点是我觉得将服务器端的功能(结合主机CPU处理能力、内存配置、外存升级等新形势)进一步提升,web应用还是应该立足于瘦客户端应用,立足于那些几乎每一个操作步骤都必须到远程服务器去往返一次的应用,而将肥客户端的应用直接让位给类似于从精简.net compact framework之类可通过internet自动部署的smart client框架。 --------------------编程问答-------------------- 我的上面的“缺点一”的意思是,很多ui组件开发的高级程序员整天开始与乱麻一样的javascript代码作战,是不可能喜欢这种新的开发方法的。 --------------------编程问答-------------------- 关注中。。。。。 --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 拒绝使用ajax

同意sp1234的看法

b/s就是要瘦客户端 --------------------编程问答-------------------- 用asp.net ajax时会出现如果页面中有特殊符号,分页功能就会有问题,而去掉ajax则正常。 --------------------编程问答-------------------- 学习. --------------------编程问答-------------------- 没有一种技术是完成没用的,没有一种技术是完成实用的
使用 而不依赖 --------------------编程问答-------------------- 哈哈,我已在使用VISTA系统啦,今天还使用VS2005在各系统中安装,测试了一下性能哦!不过言归正传,我没有使用过AJAX,不知道好不好,但是我就是不喜欢 --------------------编程问答-------------------- 你以为你谁啊 你不喜欢! 那一边去 --------------------编程问答-------------------- 后退按钮不能用了 --------------------编程问答-------------------- 找个库
能用用就可以了

搞的那么高升干嘛..
 这个东西本来 就不高升..

搞的客服端那么肥 
不如直接C/S了
省的操那么心在 什么兼容浏览器啊,脚本错误啊...



--------------------编程问答-------------------- 虽然我对这些不是很了解,但我觉得 肥客户端 还是比C/S模式要好。

现在的计算机的配置越来越高,这么强的计算能力不用也是浪费。
它取代B/S模式的最大原因我觉得是部署和维护方便很多。 --------------------编程问答-------------------- 其实我觉得用Ajax适可而止就行了,必要的地方用一下,点到即止就OK了. --------------------编程问答-------------------- 我們拭目以待~ --------------------编程问答-------------------- 关注!有资料不?!~ --------------------编程问答-------------------- Ajax是好东东啊! 从 Google map上也可见其冰山一角了. --------------------编程问答-------------------- 动态网页可视化开发平台
http://www.fzhdkj.cn/WebFrame/CwmPage/Design.aspx?FC=test
--------------------编程问答-------------------- 其实就是一个客户端于服务器端通讯标准的

明显Web方式 就是因为其易用性 通用性哈 才具有发展的前途 但是现在由于浏览器本身又多种多样使得在共同的标准下 具有一定的差异 相信以后会变化的 
Adobe的那个什么东东 也是这样 --------------------编程问答-------------------- 正在学习中,不好评判 --------------------编程问答-------------------- > 我的上面的“缺点一”的意思是,很多ui组件开发的高级程序员整天开始与乱麻一样的javascript代码作战,是不可能喜欢这种新的开发方法的。

找个好点库就可以了 --------------------编程问答-------------------- asp.net ajax toolkit 是完全开源的,可以看源代码学习。虽然不很优雅,但是看起来微软确实是赚到了(ajax项目真的是有高人呀),使用起来相当简单。 --------------------编程问答-------------------- 好东西,新浪的网上直播系统做的非常棒 --------------------编程问答-------------------- 我正在学习AJAX,感觉很好,但是我觉得
一:所谓的无刷新,其实内部我估计是使用了JAVA,这我不太懂,这在客户端经常出现代码错误,导致有些功能不能使用
二:现在的服务器配置和客户端以及网络速度,已够快的了,直接使用ASP.NET,制作网页,出的问题不是很大,在哪里都能显示,这样很好,没必要使用AJAX来修饰自己,界面也好修改,速度也快,拿个花灯在自己面前晃来晃去,倒不如直接使用ASP.NET
三:开发效益简直不高,如果使用AJAX,编写大量的冗余的JAVA代码,经常在客户端出现错误提示,代码不简洁,倒不如直接使用ASP.NET服务器端相当简洁的代码完成项目! --------------------编程问答-------------------- 要我说能说几千字,随便发表自己的意见好了! --------------------编程问答-------------------- 现有技术永远都是过渡技术! --------------------编程问答-------------------- AJAX的优点:不刷新
AJAX的缺点:不刷新 --------------------编程问答-------------------- 优点是不刷新整个页面实现交互。
最大的缺点是网络很不好的时候很容易导致浏览器无响应,我测试了好几个使用AJAX技术的网站。看看http://www.vrart.cn/网站的应用吧,首页的作品TABLE用了AJAX。我网络不好,把我浏览器弄没有响应10秒,这是个什么概念,简直难以忍受。这种没有必要的AJAX技术应用简直就是在炫耀技术。而并不是在给客户制造便利,我同意jamfchan 的看法,适可而止,要用的地方才用,google map就是很好的列子。不必要用的地方尽量不用或者少用。另外别老把AJAX当宝。 --------------------编程问答-------------------- 我现在的页面缩减80%以上,因为所有动态部分几乎都是延迟加载的。 --------------------编程问答-------------------- 我认为ajax在很多应用时出现很多很难解决的问题,尽量少用。
必要的时候还是可以用一下的。 --------------------编程问答-------------------- 对于很多很多难题,我使用silverlight来写。silverlight控件是可以放入asp.net页面的。

实际上,我几乎已经不使用asp.net了,因为它太瘦。

但是对于比较胖的客户端编程,我觉得单纯javascript编程相比任何RIA编程来说都太落后了。 --------------------编程问答-------------------- sp1234的观点是否是认为asp.net ajax部分功能或者全部功能已经被silverlight所取代了?
--------------------编程问答-------------------- 一个页面中过多的ajax请求会导致服务器端负担 --------------------编程问答-------------------- 对ajax来说本人最不能忍受的是对搜索引擎的支持!其它的功能且不说,就这一点!客户让我把ajax实现的功能又改回传统方式上浪费我的感情和精力真是闹火! --------------------编程问答-------------------- ajax的好坏最终都是由市场决定,由用户决定。技术人员啊,就会拿自己当根葱。
还说什么增加了客户端的负担呢,现在的客户端PC已经越来越便宜和强大了,不充分利用客户端才傻呢。 --------------------编程问答-------------------- 看了楼上的一些意见,个人感觉AJAX技术它至少帮助我们程序员们解决了一些很多麻烦,还有给客户提供了很多方便!应该是很不错的!   --------------------编程问答-------------------- 不懂 关注 --------------------编程问答--------------------
引用 19 楼 yzlxy 的回复:
拒绝使用ajax 

同意sp1234的看法 

b/s就是要瘦客户端

拒绝前请先懂得运用,至少说你对它很了解。
目前的Web开发,ajax是很重要的一项技术一项客户体验。 --------------------编程问答--------------------  楼主很不错,讲的也很具体。我最近研究了asp.net ajax 确实很多好处,但是也有不少缺点。 还是那句话,宁缺毋滥。 --------------------编程问答--------------------  楼主很不错,讲的也很具体。我最近研究了asp.net ajax 确实很多好处,但是也有不少缺点。 还是那句话,宁缺毋滥。 --------------------编程问答--------------------  楼主很不错,讲的也很具体。我最近研究了asp.net ajax 确实很多好处,但是也有不少缺点。 还是那句话,宁缺毋滥。 --------------------编程问答-------------------- 学习下 --------------------编程问答-------------------- 学习下 --------------------编程问答--------------------
我也非常不喜欢ajax,看到有些全ajax的技术,感觉挺乱的。
JS既不好调试,也不好跟踪。虽然处理是提交给后台服务器页的。但前提表现的时候大段的JS,真的很晕。


--------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 新替换旧的是必然的,ajax依靠先天不足的javascript,理解原理很重要,以后即使有新的技术出来,万变不离其总,这个很重要。
希望有一个比较创新的出来,替代掉javascript,来个易做图性的,只不过就目前来说不怎么看好silverlight。 --------------------编程问答-------------------- 感觉微软现在都是更着别人的易做图股后面,没有太好的创新 --------------------编程问答--------------------
引用 25 楼 nightshadows 的回复:
后退按钮不能用了

在vs2008中.net formework 3.5 sp1中解决了这个问题 --------------------编程问答-------------------- 哪里翻出的陈年老帖,不过还是得顶一下
ajax可以部分使用,但是如果对客户端造成性能影响就不好了吧? --------------------编程问答-------------------- 又见月经贴 --------------------编程问答--------------------
引用 49 楼 liuhui810 的回复:
ajax的好坏最终都是由市场决定,由用户决定。技术人员啊,就会拿自己当根葱。
还说什么增加了客户端的负担呢,现在的客户端PC已经越来越便宜和强大了,不充分利用客户端才傻呢。

支持liuhui810的说法,现在客户端PC配置越来越高,应该充分利用起来,尽量减轻server的压力,这样才能更好的提供服务 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 07年的帖子. 囧! --------------------编程问答--------------------  到现在为止比较喜欢dwr框架,js可以调后台的方法。
缺点:暴露后台方法
     前台逻辑太复杂!
--------------------编程问答--------------------    路过,学习!
   正在学习当中! --------------------编程问答-------------------- UP --------------------编程问答-------------------- Ajax~~~ --------------------编程问答-------------------- 我想不管什么样的技术只要适当的使用就可以了。不要过度的依赖。 --------------------编程问答-------------------- 我也很矛盾啊,一直弹出页面
http://topic.csdn.net/u/20100917/09/c4bc05fe-399b-47fa-a894-e1b0efe30529.html?seed=150971861&r=68458934#r_68458934
到底是Ajax好,还是JS+CSS好 --------------------编程问答--------------------
引用 1 楼 pangyong0221 的回复:
加重了客户端的负担,减轻了服务器的处理量,增强了用户体验。

写程序不就是用空间换时间或者是用时间换空间.
更或是用客户端的时间空间换服务器的时间空间.
好象是什么爱因什么寺叹说的. --------------------编程问答-------------------- 还没学这个!
帮顶 --------------------编程问答-------------------- 谁又乱挖坟呀


07年的帖子 --------------------编程问答-------------------- 好处不说了,说坏处:

1:繁重的前台开发,增加开发时间(可能也会给以后的维护带来麻烦)

2:安全性低,暴露了业务逻辑,增加了被攻击的可能性 --------------------编程问答--------------------
引用 4 楼 bary 的回复:
我觉得vista流行起来恐怕至少得3年,即使流行起来,原来得web网站也不会被淘汰。
......

引用 23 楼 lgnet 的回复:
哈哈,我已在使用VISTA系统啦,今天还使用VS2005在各系统中安装,测试了一下性能哦!不过言归正传,我没有使用过AJAX,不知道好不好,但是我就是不喜欢


已经看到两个人提到VISTA。。。

请问VISTA和ajax有什么关系?? --------------------编程问答-------------------- 世界上没有完美的东西,
ajax也一样,
只是一个工具,

好与不好,
看你怎么用! --------------------编程问答-------------------- ajax就像味精一样,只能适当在特殊场合点到为止,滥用就可笑了.

有人说ajax可以降低服务器负担.这不是天大的误会吗
这是ajax的萌生的初衷吗,ajax只是为了改善用户的体验而出现的.
常见应用场合:验证用户输入的帐户/email是否已被其它用户注册过.
级联选择菜单(如省/市/县),显示某个查询值(如查询帐户当前有多少钱)

简单地说,就是不刷新当前页面,执行某个操作或返回某个/些数据.

ajax可以在理论上降低些微的回发数据量,但这显然不是ajax存在的目的与理由.



--------------------编程问答-------------------- ajax多好的东西啊   现在是2012  看看  ajax在哪个网站不是狂使呢, 是否会加重服务器的负担, 这个还是得看你们程序咋写的 - - 。。   ajax肯定会越来越牛逼,,  
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,