【发布时间】:2019-06-22 18:52:37
【问题描述】:
我正在开发新系统,与我以前看到的几乎没有什么不同。基本上有一个带有“POST”类型和指向.cfm 页面的URL 的JQuery ajax 调用。 .cfm 页面将返回 html 表。
在与首席开发人员交谈后,他提到这种方法更有效。通过这种方式调用.cfm,我们不会在每次调用时都创建新实例。另一种方式,如果我们使用 .cfc 并调用函数,每次都会创建新实例。我不知道ColdFusion 的屏幕和深层背后的一切。
他提到的另一件事是这样更好,因为我们不使用任何框架。在过去的 4 年里,我一直在使用 ColdFusion,我过去看到的是 JQuery Ajax 调用 component.cfc 并带有特定的 method 名称。返回数据并动态构建表。我想知道是否有人对此了解更多,为什么.cfm 可能比调用.cfc 更好。
谢谢。
【问题讨论】:
-
我认为这可能完全属于“视情况而定”的范畴,您得到的任何答案都可能不适用于未来读者的情况。 “更高效”究竟是什么意思?就个人而言,我认为在整个堆栈中调用 .cfc Web 服务会“更有效”,该服务会返回一些 JSON 数据,这些数据用于构建您提供给最终用户的表。就像你描述的那样。尽管“POST”暗示了与“GET”不同的东西。根据您的操作,.cfm 可能是“更好”的选择。听起来您的开发人员可能正在谈论缓存。但同样,什么是“更好”?视情况而定。
-
如何传输数据是一个不同的话题。它与 cfc 与 cfm 的选择无关。
-
回到 CF 8 天,实例化 CFC 既慢又昂贵。这就是为什么引入像 ColdSpring 这样的框架来缓存 CFC 实例的原因。多年来,这种情况发生了变化。
-
Datatables 用于进行分页和处理大数据,包括让您选择每页要显示多少条记录。它非常灵活。 RE: GET 与 POST,他们都可以做同样的事情,只是不同。通常,GET 是当您请求数据并且什么都不会改变时,而 POST 是将数据发送到可能会发生变化的服务器。两者都会返回响应。 GET 在 URL 中发送; POST 在标头中发送。有很多考虑因素,比较两者本身几乎就是一个研究课题。 w3schools.com/tags/ref_httpmethods.asp
-
因为这本质上是联系 ColdFusion 以获取数据以重新插入 DataTables,所以我可能不同意不使用基于 CFC 的 Web 服务、返回 JSON 或其他一些轻量级有效负载。 DataTables 不需要为它构建的 HTML 页面。这就是 DataTables 对您发回给它的数据所做的事情。我认为 CFC 提供的好处远远超过了使用 .cfm 代替的大多数担忧。但同样,您的应用程序和基础架构的细节可能会使 .cfm 更实用。所以我回到“它取决于”。
标签: web-services coldfusion frameworks coldfusion-11 cfc