Web services 使用jQueryAjax调用.cfm和.cfc之间的区别?

Web services 使用jQueryAjax调用.cfm和.cfc之间的区别?,web-services,coldfusion,frameworks,coldfusion-11,cfc,Web Services,Coldfusion,Frameworks,Coldfusion 11,Cfc,我正在开发新系统,几乎没有什么不同于我以前看到的东西。基本上有一个jQueryAjax调用,其POST类型和url指向.cfm页面。.cfm页面将返回html表 在与首席开发人员交谈后,他提到这种方法更有效。通过这种方式调用.cfm,我们不会在每次调用时创建新实例。另一种方法是,如果我们使用.cfc并调用一个函数,那么每次都会创建一个新实例。我不知道屏幕背后的一切和ColdFusion的深层次 他提到的另一件事是,这样更好,因为我们不使用任何框架。在过去的4年中,我一直在使用ColdFusion

我正在开发新系统,几乎没有什么不同于我以前看到的东西。基本上有一个jQueryAjax调用,其POST类型和url指向.cfm页面。.cfm页面将返回html表

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

他提到的另一件事是,这样更好,因为我们不使用任何框架。在过去的4年中,我一直在使用ColdFusion,过去我看到的是jQueryAjax使用特定的方法名调用component.cfc。返回数据并动态构建表。我想知道是否有人对此了解得更多,为什么.cfm可能比打电话给.cfc更好

谢谢。

想听听你的意见吗

我同意其他人已经说过的话。没有具体的答案,因为它总是依赖于更多的东西,而不仅仅是这段代码。话虽如此

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

何时使用氟氯化碳

您可以通过以下方式使用氟氯化碳:

开发结构化的、可重用的代码 创建web服务 创建flashremoting元素 使用异步CFC 开发结构化的、可重用的代码

CFC为开发结构化应用程序提供了一种极好的方法,该应用程序将显示元素与逻辑元素分离,并封装数据库查询。您可以使用CFC创建您和其他人可以在需要时重用的应用程序功能,如用户定义的函数UDF和自定义标记。如果要修改、添加或删除组件功能,请仅在一个组件文件中进行更改。 CFC与UDF和自定义标记相比有几个优点。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可能更擅长处理这一点,但我不确定

该文件也指本文件-。我会包括在这里的信息以及

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

渴望得到评论

我同意其他人已经说过的话。没有具体的答案,因为它总是依赖于更多的东西,而不仅仅是这段代码。哈夫 他说

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

何时使用氟氯化碳

您可以通过以下方式使用氟氯化碳:

开发结构化的、可重用的代码 创建web服务 创建flashremoting元素 使用异步CFC 开发结构化的、可重用的代码

CFC为开发结构化应用程序提供了一种极好的方法,该应用程序将显示元素与逻辑元素分离,并封装数据库查询。您可以使用CFC创建您和其他人可以在需要时重用的应用程序功能,如用户定义的函数UDF和自定义标记。如果要修改、添加或删除组件功能,请仅在一个组件文件中进行更改。 CFC与UDF和自定义标记相比有几个优点。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可能更擅长处理这一点,但我不确定

该文件也指本文件-。我会包括在这里的信息以及

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


我认为这可能完全属于It领域,这取决于你得到的任何答案都可能不适用于未来读者的情况。效率更高到底意味着什么?就我个人而言,我认为在整个堆栈中调用返回一些JSON数据的.cfc webservice会更有效,这些JSON数据用于构建为最终用户提供服务的表。就像你描述的那样。虽然POST建议了一些不同于GET的东西。根据您的行为,a.cfm可能是更好的选择。听起来您的开发人员可能在谈论缓存。但再说一次,什么更好?视情况而定。数据如何传输是另一个话题。这与cfc和cfm的选择无关。回到CF8天,实例化cfc既慢又贵。这就是为什么引入了像ColdSpring这样的框架来缓存CFC实例。多年来,这种情况已经发生了变化。Datatables用于分页和处理大型数据,包括允许您选择每页要显示的记录数。它很灵活。回复:GET vs POST,他们可以做相同的事情,只是不同而已。一般来说,GET是指当您请求数据时,什么都不会改变,而POST是指将数据发送到服务器,在服务器上可能会发生变化。两者都将返回响应。GET在URL中发送;邮件以邮件头的形式发送。有很多考虑因素,比较二者是一个非常重要的研究课题
它自己的。由于这本质上是联系ColdFusion以获取要插入数据表的数据,因此我可能不同意不使用基于CFC的Web服务,返回JSON或其他一些轻量级负载。DataTables不需要为其构建HTML页面。这就是DataTables对发送回它的数据所做的。我认为CFC提供的好处远远超过了大多数关于使用.cfm的担忧。但是,应用程序和基础结构的细节可能会使.cfm更实用。所以我回到了这一点,这要看情况而定。我认为这可能完全属于这一领域。你得到的任何答案都可能不适用于未来读者的情况。效率更高到底意味着什么?就我个人而言,我认为在整个堆栈中调用返回一些JSON数据的.cfc webservice会更有效,这些JSON数据用于构建为最终用户提供服务的表。就像你描述的那样。虽然POST建议了一些不同于GET的东西。根据您的行为,a.cfm可能是更好的选择。听起来您的开发人员可能在谈论缓存。但再说一次,什么更好?视情况而定。数据如何传输是另一个话题。这与cfc和cfm的选择无关。回到CF8天,实例化cfc既慢又贵。这就是为什么引入了像ColdSpring这样的框架来缓存CFC实例。多年来,这种情况已经发生了变化。Datatables用于分页和处理大型数据,包括允许您选择每页要显示的记录数。它很灵活。回复:GET vs POST,他们可以做相同的事情,只是不同而已。一般来说,GET是指当您请求数据时,什么都不会改变,而POST是指将数据发送到服务器,在服务器上可能会发生变化。两者都将返回响应。GET在URL中发送;邮件以邮件头的形式发送。有很多考虑因素,比较2本身就是一个研究课题。由于这本质上是联系ColdFusion以获取要插入数据表的数据,因此我可能不同意不使用基于CFC的Web服务,返回JSON或其他一些轻量级负载。DataTables不需要为其构建HTML页面。这就是DataTables对发送回它的数据所做的。我认为CFC提供的好处远远超过了大多数关于使用.cfm的担忧。但是,应用程序和基础结构的细节可能会使.cfm更实用。所以我会回到这一点上,这要看情况而定。