【问题标题】:Unable to find a method in CFC在 CFC 中找不到方法
【发布时间】:2013-10-07 18:10:27
【问题描述】:

基本上我',通过代码并使用jQuery遇到以下ajax调用:

$.ajax({
url: '<cfoutput>#rootUrl#/#SessionPath#</cfoutput>/cfc/xyz.cfc?
method=AddNewBatch&returnformat=json&queryformat=column&_cf_nodebug=true&_cf_nocache=true',

1) 我已经通过xyz.cfc 多次,找不到任何名称为AddNewBatch 的方法。难道我做错了什么?请澄清。

2) 另外,你能解释一下 URL 中的 returnformat 是做什么的吗?或者请让我知道是否有任何文档可用于上述 url 中提到的 returnformat 类型,我会仔细阅读。

谢谢

【问题讨论】:

  • 感谢您的回答。我仍然对我的问题 #1 感到困惑。对于第二个问题,我知道它是 JSON 格式,但想知道 queryformat=column&amp;_cf_nodebug=true&amp;_cf_nocache=true 到底是什么?
  • 好的,谢谢!!我会弄清楚的。
  • Tan,再一次...如果您要询问代码问题,则需要提供代码! xyz.cfc 是否扩展了另一个 CFC?它有onMissingMethod() 方法吗?

标签: jquery web-services coldfusion coldfusion-9


【解决方案1】:

其他人已经在暗示它,但是您的 xyz.cfc 可能扩展了另一个确实具有 AddNewBatch() 方法的 CFC。查看 xyz.cfc 代码的顶部并查看组件行是否具有“扩展”属性。如果是这样,请找到 CFC,您可能会找到您的方法。

如果您不熟悉,一个 CFC 可以“扩展”另一个,这意味着它包括其所有功能以及扩展 CFC 的功能。这是一个面向对象的概念。

【讨论】:

    【解决方案2】:

    1) 您正在远程访问此方法。确保您在 xyz.cfc 中的函数 AddNewBatch 定义中有 access="remote"

    <cfcomponent displayname="I am Xy Y Z" output="false">
    
        <cffunction name="AddNewBatch" access="remote" output="false" returnformat="JSON">
            <!--- do something here --->
            <cfset var somestruct={structkey1=1,structkey2=2}>
            <cfreturn somestruct />
        </cffunction>
    
    </cfcomponent>
    

    2) “returnformat”是您传递给此方法的参数。从未尝试过这种方法,但是当我在函数定义中设置 returnFormat 时,我确信该函数将始终返回 JSON“字符串化”,如果我返回查询或任何其他对象,则不会。请参阅示例。

    在这里查看最后一个答案,它可能会给你一些想法。 How should I send variables to a coldfusion action page with ajax post?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 2011-12-10
      相关资源
      最近更新 更多