1

我有一个 href 在尝试替换其父 cfdiv 的内容时会引发错误。

为了保持简短,链接看起来像这样:

<cfdiv id="managerDiv">
    <a href="javascript:ColdFusion.navigate('theURL?theVariables','managerDiv');" >add a new thing</a>
</cfdiv>

我收到的错误是一个对话框,指示以下内容:

检索元素 managerDiv 的标记时出错:/manager/CFIDE/administrator/templates/errors.jsp [通过将“cfdebug”添加到您的 URL 参数来启用调试以查看更多信息]


需要注意的几点:

  • 在我的 Coldfusion 10 开发环境中,我没有任何问题。此错误仅发生在我的托管服务器上。
  • 我的托管和开发环境的目录结构完全相同
  • 我的源代码或 Coldfusion 设置中的任何位置都没有指向“errors.jsp”的指针或映射。
  • manager 是根级别的子目录
  • “theURL”是任何coldfusion文件,我试过一个简单的blank.cfm文件,它仍然传递同样的错误

想法

显然,Coldfusion 似乎正在寻找一个不存在的文件来替换 cfdiv 的内容。但是,我真的不知道它为什么要查找“theURL”的内容以外的内容,以及为什么要在错误中指定的目录中查找它(manager/CFIDE/...)


我又做了一些测试。似乎coldfusion.navigate URL 参数不喜欢相对路径(同样,它在我的开发环境中运行良好,但在生产环境中却不行)

例如,这有效:
<a href='javascript.Coldfusion.navigate('test.cfm');'>

但这不是:
<a href='javascript.Coldfusion.navigate('folder/test.cfm');'>

想法?

4

1 回答 1

1

全部:

看来我应该更具体,因为这是一个非常有针对性的答案。我试图加载的文件来自我命名为“manager”的目录。经过一些测试,似乎“经理”这个名字是问题所在。我们重命名了目录,问题就解决了。

换句话说,这是我的链接(我省略了名称,因为我最初认为它们无关紧要,但这是实际链接):

<a href='javascript.Coldfusion.navigate('manager/test.cfm');'>

我被支持团队转发了这个页面,这似乎强化了这一点:

http://www.giancarlogomez.com/2012/06/directory-of-manager-in-webroot-not.html

最重要的是,不要在根文件夹“manager”中命名目录。Coldfusion/TomCat 保留该名称(至少在根级别)。

我不确定他们为什么这样做(考虑到偶尔使用“经理”这个词作为管理员角色,因此,为这个角色创建一个目录是一种普遍趋势),但是哦,好吧:)

于 2013-07-12T15:43:33.897 回答