无法在CFC中找到方法

时间:2013-10-07 18:10:28

标签: jquery web-services coldfusion coldfusion-9

基本上我',通过代码并使用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中的返回格式是做什么的吗?或者,如果有任何关于上面提到的返回格式类型的文档,请告诉我,我会详细说明。

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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“stringified”,如果我返回查询或任何其他对象,则无效。参见示例。

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