私は途方に暮れています。
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:
...
したがって、メソッド/関数はそこにあります。しかし、私は出ていません。また、唯一の戻り値とダンプを除いて、コミット機能をクリアしました。ダンプも戻り値も取得していません。
質問:
PROCESS 内にいる場合、本番環境では問題なく動作しているのに、ライブ サーバーで 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 から「コミット エラー」が返されました