免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: vtsuper
打印 上一主题 下一主题

對ajax及xajax的迷惘 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-10-02 12:11 |只看该作者
xajax的主要目的是针对那些熟悉PHP编写但却不大熟悉JS的开发者,可将JS透明化,直接在PHP代码里完成需要的操作,而不用去编写JS端的代码,比如说在用户完成注册后通过XAJAX实现页面异步提交,服务检测通过与否,并返回简单的提示信息,这些代码都只需在PHP代码页里完成,而在前端页只需放置触发的地方和一个回显信息的容器之类。再比如说CU的贴子收藏功能,有时贴子看到一半就喜欢或觉得有用,就点击“收藏”,但这样会让你中断阅读让你跳转到一个结果收藏操作结果页,告诉你收藏成功了与否;当然我们可以通过按住shift来点击,使其在新窗口打开,但这还是需要用户去关闭这个新窗口,所以这里使用AJAX的在本页内“悄悄”的提交收藏请求,在有结果后可在页面角落里弹出一个可关闭的层来提示用户操作结果(加上倒计时自动关闭就perfect了)。

xaja并不是太适合复杂的AJAX应用,比如在同一个页面不定时向几个不同的URL发出多个异步提交并能正确在对应的地方回显结果,XAJAX处理起来就比较需要技巧性或者甚至要HACK原始代码来实现。

如果你很熟悉PHP和JS,用什么框架都是多余的(因为每学习一个第三方库都是要成本的,而且往往不能满足多变的业务需求),另外,我更倾向把XAJAX看作是一个LIB,而不是FRAMEWORK。

[ 本帖最后由 crazysoul 于 2006-10-2 12:27 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2006-10-03 10:30 |只看该作者
感謝閣下的意見..聽了後讓我不再懷疑自己的想法..
因為網上很多website說xajax是最好用的class(與sajax,dojo,prototype等比較),
但我看完卻有點存疑...現在總算清楚一點了..

等我想請問....
"比如在同一个页面不定时向几个不同的URL发出多个异步提交并能正确在对应的地方回显结果"

你的意思是它不能同時處理數個不同url的process?

论坛徽章:
0
13 [报告]
发表于 2006-10-04 02:24 |只看该作者
sajax与XAJAX一样是JS+PHP的AJAX框架;dojo和prototype是纯JS的LIB,后端语言是什么都无关要紧。

xajax的RPC调用是以一个全局的JS变量“xajaxRequestUri”作为入口参数(即xmlhttp.open的url),而不是作为一个属性设值,对简单应用没问题,而如果网站结构是以多模块的形式,一些模块中各有XAJAX对应的响应接口,若要在一个页面中,需要访问这些模块,就需要些手段了。
解决的方法也不难,方法1:JS,另外封装一个call方法,调用原始的xajax.call前都初始化一次xajaxRequestUri;方法2:使用一个固定的XAJAX响应URL,根据xajax.call传入的参数动态调用对应的模块中的xajax响应。

XAJAX发出多个请求时,无法确定响应是那个对象发出的,对做状态显示很麻烦,可通过传递对象ID来解决部分问题(但还是不能捕捉异常状态:v0.2.4)。

这些说起来简单,但实际用起来可能就会有这样或那样的麻烦(应该是我功力太浅 ORZ),总之感觉XAJAX比较适合一个页面对应一个AJAX请求的应用(0.5应该不错,好像昨天刚好释出公测版)。谁用谁知道吧!


其实AJAX应用中,更重要的还是JS部分,所以要灵活应用还是抓紧JS(prototype是不错的选择)。

btw,如果你是台湾地区的,应该先参考下NEO的文章:
http://www.neo.com.tw/archives/000670.html

[ 本帖最后由 crazysoul 于 2006-10-4 02:56 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2006-10-04 06:46 |只看该作者
真想不通,为什么都搞得和java一样什么东西都要用个什么框架什么模块。ajax就那么简单一个东西,自己手写不就是了吗?用框架只会把你弄成只知其一不知其二。

论坛徽章:
0
15 [报告]
发表于 2006-10-04 10:31 |只看该作者
對,這個我很同意,自已寫才可以到精髓所在,但在了解明白後需要的則是效率了。所以我也想在xajax,sajax,prototype,dojo等選一個出來長期應用..各位會推薦那一個呢?看了大家的意見..我反而想放棄xajax選prototype...

但對於xajax我還有一個疑問,請問它的原理是用xmlhttp把工作傳給php處理後只return 結果
還是
面頁連結到某js file(external),而該js檔案是以php生成?

论坛徽章:
0
16 [报告]
发表于 2006-10-04 10:39 |只看该作者
我先前用xajax,现在用prototype。
我觉得prototype不错,比xajax好用--至少对于我来说是如此。
另外。prototype是个基类。有很多其他js都基于prototype的。所以prototype有更好的扩展性。
而xajax与php严格绑定,并且需要用php来解析一次,效率上就损失了一部分。。。

论坛徽章:
0
17 [报告]
发表于 2006-10-04 13:30 |只看该作者
請問有什麼事是xajax做不了的呢?
我想說服我的同事放棄xajax...haha
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP