首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开放BlueDragon中的相对/绝对CFC路径

开放BlueDragon中的相对/绝对CFC路径
EN

Stack Overflow用户
提问于 2012-12-11 05:33:27
回答 1查看 414关注 0票数 0

我正在尝试将现有的ColdFusion代码库从AdobeCF8迁移到OpenBD。我的文件包括这样的内容:

代码语言:javascript
复制
/cfc/one.cfc
/cfc/two.cfc

/app/page.cfm

在CF8中,我有一个从'cfc‘到'/cfc’的映射,而在page.cfm中我有:

代码语言:javascript
复制
<cfajaxproxy cfc="cfc.one" jsclassname="oneCfc">
<cfajaxproxy cfc="cfc.two" jsclassname="twoCfc">

然后在Javascript中,我可以使用以下方法调用CFC:

代码语言:javascript
复制
var c = new oneCfc();

...and的生活很好。

然而,在Open (v2.0.3b)下,我似乎不能从Javascript调用CFC函数。代理和前面一样声明,我可以在Javascript中创建对象,但是当我试图调用一个函数时,我会在浏览器开发工具中得到以下错误:

代码语言: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下的其他目录中有CFCs?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-04 09:03:45

供将来参考:这个问题已经在2013年3月初发布的OpenBD 3.0中得到了解决(或多或少)。

在3.0中,创建AJAX代理.js文件的代码是已修改,包括以下行:

代码语言:javascript
复制
javascript.append( " this.remoteCFC = '" );
javascript.append( CFC.replace('.', '/') );
javascript.append( ".cfc';\r\n" );

虽然它仍然没有考虑到任何服务器端映射,但它至少允许您引用一个不是当前.cfm页面的子路径:

代码语言:javascript
复制
<cfajaxproxy cfc=".cfc.one" jsclassname="cfcOne">

(请注意前面的.,它被OpenBD替换为/。在早期版本的OpenBD中,这将生成一个错误)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13814223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档