我不知所措。爲什麼我在生產環境中不能在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