我正在尝试将现有的 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 中使用相对路径,即使它已经创建了对象。
根据 OpenBD,CFC 是有效的(我可以浏览到./cfc/one.cfc?wsdl
,并且可以使用./cfc/one.cfc?method=getData
等调用函数)。我是否在 OpenBD 中定义了映射似乎并不重要。
似乎可行的一种解决方法是让 CFC 与调用 CFM 文件具有相同的功能,但是当我想重用来自许多不同页面的 CFC 代码时,这不是一个很好的解决方案。
有没有人在 OpenBD 下工作的其他目录中找到 CFC?