既存の ColdFusion コードベースを Adobe CF8 から OpenBD に移行しようとしています。私のファイルには次のようなものが含まれています:
/cfc/one.cfc
/cfc/two.cfc
/app/page.cfm
CF8 には「cfc」から「/cfc」へのマッピングがあり、page.cfm には次のものがありました。
<cfajaxproxy cfc="cfc.one" jsclassname="oneCfc">
<cfajaxproxy cfc="cfc.two" jsclassname="twoCfc">
次に、Javascript で次を使用して CFC を呼び出すことができます。
var c = new oneCfc();
...そして人生は良かった。
ただし、Open BD (v2.0.3b) では、Javascript から CFC 関数を呼び出すことができないようです。プロキシは以前のように宣言されており、Javascript でオブジェクトを作成できますが、関数を呼び出そうとすると、ブラウザー開発ツールで次のエラーが発生します。
POST http://127.0.0.1:8080/app/cfc/one.cfc 404 (Not Found)
オブジェクトが既に作成されているにもかかわらず、関数を呼び出そうとすると、Javascript で相対パスを使用しているように見えます。
CFC は OpenBD に従って有効です (私は を参照でき./cfc/one.cfc?wsdl
、などを使用して関数を呼び出すことができます./cfc/one.cfc?method=getData
)。OpenBD で定義されたマッピングがあるかどうかは問題ではないようです。
動作するように思われる 1 つの回避策は、呼び出し元の CFM ファイルと同じ関数に CFC を配置することですが、多くの異なるページから CFC コードを再利用したい場合、これはあまり良い解決策ではありません。
OpenBD で動作する他のディレクトリに CFC を持っている人はいますか?