使用JQuery Ajax调用.cfm和.cfc之间的区别?

esp*_*fee 1 coldfusion frameworks web-services cfc coldfusion-11

我正在研究新系统,并且有些东西与我以前看到的不同.基本上有一个JQuery ajax调用"POST"类型和url指向.cfm页面.该.cfm页面将返回html表格.

与首席开发人员交谈后,他提到这种方法更有效率.这种方式调用.cfm我们每次拨打电话时都不会创建新实例.另一种方法是,如果我们使用.cfc并调用一个函数,每次都会创建一个新实例.我不知道屏幕背后的一切和ColdFusion的深层次.

另外一件事他提到这种方式更好,因为我们不使用任何框架.我在过去的4年里一直在使用ColdFusion,而我过去看到的是component.cfc使用特定method名称调用JQuery Ajax .返回数据并动态构建表.我想知道是否有人知道更多关于这个以及为什么.cfm可能比打电话更好.cfc.

谢谢.

Mig*_*l-F 6

渴望发表评论

我同意其他人已经说过的话.没有具体的答案,因为它总是取决于更多的东西,而不仅仅是这些代码.话说回来...

我从这里的Adobe文档中发现了这一点,这似乎是相关的.以下是该文档的摘录.我用粗体突出显示了相似的部分.注意CFC实例化后的部分.您可以在链接中阅读更多内容.

何时使用CFC

您可以通过以下方式使用CFC:

  • 开发结构化,可重用的代码
  • 创建Web服务
  • 创建Flash Remoting元素
  • 使用异步CFC

开发结构化,可重用的代码

CFC为开发结构化应用程序提供了一种很好的方法,这些应用程序将显示元素与逻辑元素分开并封装数据库查 您可以使用CFC创建您(和其他人)可以在需要时重用的应用程序功能,如用户定义的函数(UDF)和自定义标记.如果要修改,添加或删除组件功能,只需在一个组件文件中进行更改.与UDF和自定义标签相比,CFC具有多个优势.CFC自动提供的这些优势包括以下所有优点:

  • 能够将相关方法分组到单个组件中,并将相关组件分组到一个包中
  • 多个方法可以共享的属性
  • 此范围是特定于组件的范围
  • 从基本组件继承组件方法和属性,包括使用Super关键字
  • 访问控制
  • CFC方法,属性和元数据的内省CFC
    具有一个特性,可以防止它们成为所有代码重用的自动选择.实例化CFC所需的处理时间比处理自定义标记要多得多.反过来,处理自定义标记所需的时间比执行用户定义的函数(UDF)要多得多.但是,在实例化CFC之后,调用CFC方法与等效UDF具有大致相同的处理开销.因此,请勿使用CFC代替独立的单一用途自定义标记或UDF.相反,使用CFC来创建相关方法的主体,尤其是共享属性的方法.有关UDF,自定义标记和其他ColdFusion代码重用技术的更多信息,请参阅创建ColdFusion元素.

创建Web服务

ColdFusion可以自动将CFC方法发布为Web服务.要将CFC方法发布为Web服务,请在方法的cffunction标记中指定access ="remote"属性.ColdFusion生成所有必需的Web服务描述语言(WSDL)代码并导出CFC方法.有关在ColdFusion中创建Web服务的更多信息,请参阅使用Web服务.

现在我并不总是信任Adobe文档,因为他们有一个讨厌的习惯,就是将现有文档从版本转发到版本.所以谁知道这是什么时候最初写的,如果它仍然是真的.这是特定于Adobe的ColdFusion,Lucee可能更好地处理这个,但我不确定.

该文档还引用了本文档 - 在ColdFusion代码重用方法中进行选择.我也会在这里提供这些信息.

下表列出了使用代码重用方法的常见原因,并指出了为每个目的考虑的技术.字母P表示该方法是优选的.(可以有多种首选方法.)字母A表示该方法提供了在某些情况下有用的替代方法.此表不包含CFX标记.只有在最好用C++或Java编写功能时才使用CFX标记.有关使用CFX标记的更多信息,请参阅使用CFX标记.

在此输入图像描述