Ajax请求是通过MVC框架(例如ColdBox)还是不通过?

时间:2009-07-30 00:54:49

标签: coldfusion cfc coldbox

您是通过选择的MVC框架或直接向CFC发送Ajax请求吗?

我倾向于绕过MVC,因为我不需要ajax请求中的“查看”。

通过MVC框架路由ajax调用的专家是什么,比如Coldbox?

更新:找到了这个页面http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbAjaxHints,但我仍在尝试围绕它带来的复杂性带来的好处......

6 个答案:

答案 0 :(得分:4)

Henry,我发出Ajax请求来代理模型的对象。通常情况下,这样做时我不属于“框架”。话虽如此,可能(非常)需要利用您的框架,例如在集合安全模型中工作。

答案 1 :(得分:4)

我无法看到绕过MVC框架的任何好处 - 结合起来,这三个元素 是你的应用程序。

您的ajax元素实际上是视图的一部分。正如Luca所说,视图输出模型和控制器的结果。

以这种方式看待它 - 如果你制作了一个iPhone友好的网络界面(即一个新的视图),你会绕过模型和控制器吗?

答案 2 :(得分:4)

ColdBox的创建者Luis Majano said

  

这是ajax的两所学校   互动亨利。

     

我更喜欢代理方法,因为它   添加以下内容:

     
      
  1. 调试
  2.   
  3. 在调试器中跟踪
  4.   
  5. AOP拦截点
  6.   
  7. 安全
  8.   
  9. 设置可用性
  10.   
  11. 代理将转发到事件模型,因此我可以使用本地拦截   点,本地AOP,插件等
  12.         

    换句话说,它可能是一个很高的   监听呼叫而不是简单   服务cfc电话,你仍然可以   做。

         

    我,我喜欢执行   分析器运行(冷箱的一部分   调试器),所以我可以看到什么时候ajax   请求进来时他们来了   出。我可以看到所要求的数据和   发回的数据。我不必   查看日志文件,或尝试想象   结果或问题。这真的有帮助   在调试中。

         

    然而,它将是一名开发人员   选择你决定去哪个方向。   我个人的偏好是永远   使用我的代理进行事件委托   因为它给了我更多   灵活性,调试和和平   心。

答案 3 :(得分:2)

MVC框架中“视图”的目的是在“模型”和“控制器”生成它之后显示数据。如果你不需要“视图”,那么使用这种设计模式有什么意义呢?

答案 4 :(得分:0)

我同意卢卡的观点。它还绕过了MC堆栈中的任何清理和过滤逻辑。它基本上否定了您可能或可能没有的任何类型的查询处理。

答案 5 :(得分:0)

是的,我不会绕过你的框架,弄清楚是什么导致你的悲伤和追捕有问题的部分,添加逻辑来排除常见的组件,如页眉或页脚,并寻找注入空格的方法,虽然很好的html是解析json时出现问题或者有问题。

添加output =“false”,特别是在你的application.cfc中,它的方法将是我清理的第一件事。

我坚信不要直接直接访问CFC,我发现当主要的重构可能想要整合或消除组件时会产生长期问题,直接访问可能会使它更难以实现,特别是如果第三方正在从另一个域点击你的ajax(例如flash remoting)。

给史蒂夫的答案+1。