Я пытаюсь перенести существующую кодовую базу 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) я не могу вызывать функции CFC из Javascript. Прокси объявлен, как и раньше, и я могу создать объект в 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 или нет.
Единственный обходной путь, который, кажется, работает, - это использовать CFC в той же функции, что и вызывающий файл CFM, но это не очень хорошее решение, когда я хочу повторно использовать код CFC со многих разных страниц.
У кого-нибудь есть CFC в других каталогах, работающих под OpenBD?