您是通过选择的MVC框架或直接向CFC发送Ajax请求吗?
我倾向于绕过MVC,因为我不需要ajax请求中的“查看”。
通过MVC框架路由ajax调用的专家是什么,比如Coldbox?
更新:找到了这个页面http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbAjaxHints,但我仍在尝试围绕它带来的复杂性带来的好处......
答案 0 :(得分:4)
Henry,我发出Ajax请求来代理模型的对象。通常情况下,这样做时我不属于“框架”。话虽如此,可能(非常)需要利用您的框架,例如在集合安全模型中工作。
答案 1 :(得分:4)
我无法看到绕过MVC框架的任何好处 - 结合起来,这三个元素 是你的应用程序。
您的ajax元素实际上是视图的一部分。正如Luca所说,视图输出模型和控制器的结果。
以这种方式看待它 - 如果你制作了一个iPhone友好的网络界面(即一个新的视图),你会绕过模型和控制器吗?
答案 2 :(得分:4)
ColdBox的创建者Luis Majano said:
这是ajax的两所学校 互动亨利。
我更喜欢代理方法,因为它 添加以下内容:
- 调试
- 在调试器中跟踪
- AOP拦截点
- 安全
- 设置可用性
- 代理将转发到事件模型,因此我可以使用本地拦截 点,本地AOP,插件等
醇>换句话说,它可能是一个很高的 监听呼叫而不是简单 服务cfc电话,你仍然可以 做。
我,我喜欢执行 分析器运行(冷箱的一部分 调试器),所以我可以看到什么时候ajax 请求进来时他们来了 出。我可以看到所要求的数据和 发回的数据。我不必 查看日志文件,或尝试想象 结果或问题。这真的有帮助 在调试中。
然而,它将是一名开发人员 选择你决定去哪个方向。 我个人的偏好是永远 使用我的代理进行事件委托 因为它给了我更多 灵活性,调试和和平 心。
答案 3 :(得分:2)
MVC框架中“视图”的目的是在“模型”和“控制器”生成它之后显示数据。如果你不需要“视图”,那么使用这种设计模式有什么意义呢?
答案 4 :(得分:0)
我同意卢卡的观点。它还绕过了MC堆栈中的任何清理和过滤逻辑。它基本上否定了您可能或可能没有的任何类型的查询处理。
答案 5 :(得分:0)
是的,我不会绕过你的框架,弄清楚是什么导致你的悲伤和追捕有问题的部分,添加逻辑来排除常见的组件,如页眉或页脚,并寻找注入空格的方法,虽然很好的html是解析json时出现问题或者有问题。
添加output =“false”,特别是在你的application.cfc中,它的方法将是我清理的第一件事。
我坚信不要直接直接访问CFC,我发现当主要的重构可能想要整合或消除组件时会产生长期问题,直接访问可能会使它更难以实现,特别是如果第三方正在从另一个域点击你的ajax(例如flash remoting)。
给史蒂夫的答案+1。