我不知所措。为什么我在生产环境中不能在ColdFusion CFC中调用函数?
我通过Ajax发布到Coldfusion8 cfc,虽然它在本地计算机上正常工作,但在实时服务器上,我无法调用此CFC中的任何函数或扩展CFC。
我想这样做:
<cfset LOCAL.response = THIS.commit() />
如果我倾倒:
<cfdump output="e:\path\to\dump.txt" label="catch" var="committing">
<cfdump output="e:\path\to\dump.txt" label="catch" var="#THIS#">
<cfset dickhead = THIS.Commit() >
<cfdump output="e:\path\to\dump.txt" label="catch" var="out">
我越来越:
committing
****************************************************************
catch - component services.form_service_user
extends controllers.form_switch
Methods:
DEFAULTS
[function]
Arguments: none
ReturnType: struct
Roles:
Access: public
Output: false
DisplayName:
Description:
PROCESS
[function]
Arguments: none
ReturnType: struct
Roles:
Access: remote
Output: true
DisplayName:
Description:
COMMIT
[function]
Arguments: none
ReturnType: struct
Roles:
Access: public
Output: false
Description:
...
所以方法/函数有。但我没有去出。除了单独的返回值和转储外,我还清除了提交函数。我既没有获得转储也没有获得回报价值。
问题:
如果我在里面的过程,为什么我不能叫活的服务器上COMMIT当它适用于制作精细?这是一种缓存或任何设置?另外,我无法使用CFadmin,所以我或多或少猜测盲目?
感谢您的任何信息!
编辑:
的委托调用是在try/catch里面:
<cftry>
<cfdump output="e:\dump.txt" label="catch" var="a">
<cfdump output="e:\dump.txt" label="catch" var="#THIS#">
<cfset LOCAL.Response = THIS.Commit() >
<cfdump output="e:\dump.txt" label="catch" var="b">
<!--- COMMIT ERRORS --->
<cfcatch>
<cfdump output="e:\dump.txt" label="catch" var="ERROR">
<cfset LOCAL.Response.Success = false />
<cfset LOCAL.Response.Errors = [["server_error","commit error"]] />
</cfcatch>
</cftry>
我得到了 “犯的错误”,由AJAX
既然你使用了这个,我假设你在cfc里面呢?什么是引发的错误? – Busches 2012-07-06 18:31:47
我没有得到一个。那就是问题所在。我DUMP“a”THIS.COMMIT DUMP“B”,我只在转储文件中得到“a”。在THIS.COMMIT里面,我只有DUMP“c”,它也没有显示出来......无知 – frequent 2012-07-06 18:35:49
你有没有放弃或者提交了什么东西? – Busches 2012-07-06 18:38:03