Coldfusion 10 AJAX替换cfdiv中的内容

时间:2013-07-10 17:12:29

标签: ajax jsp coldfusion coldfusion-10 cfml

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

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

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

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

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


有几点需要注意:

  • 在我的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');'>

想法?

1 个答案:

答案 0 :(得分:0)

所有

看来我应该更具体,因为这是一个非常有针对性的答案。 我试图加载的文件来自我命名为“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保留该名称(至少在根级别)。

我不确定他们为什么会这样做(因为偶尔使用“经理”这个词作为管理员角色,因此,这个角色有一个目录的常见趋势),但是哦,好吧:)