2013-07-10 60 views
0

替代物我試圖取代其父CFDIV的內容時拋出一個錯誤的HREF。ColdFusion的10 AJAX在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」到您的網址參數啓用調試來了解更多信息]


有幾件事情需要注意:

  • 在我的ColdFusion的10開發環境,我沒有問題。此錯誤只發生在我的託管服務器上。
  • 我的主機和開發環境的目錄結構完全相同
  • 我的源代碼或Coldfusion設置中沒有指針或映射到「errors.jsp」的任何地方。
  • 經理是在根一級子目錄
  • 「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

我假設CFIDE文件夾被鎖定,您無法通過您的提供者訪問它。 –

+0

1.停止使用 - 或ColdFusion中的任何UI組件。 2.你有權訪問日誌文件嗎?如果是這樣,請檢查出來,可以在CF Admin中將站點範圍的錯誤處理程序設置爲error.jsp。查看日誌文件可能會發現錯誤是什麼。 3.嘗試直接在瀏覽器中瀏覽navigate()調用中的URL,看看結果是什麼。 –

+0

我剛剛在本地安裝的CF 10上查看了errors.jsp,它看起來像您在使用「安全」配置文件安裝Cf 10時所獲得的默認「錯誤」頁面。好像你在你的代碼中有一個錯誤,並且它導致CF嘗試加載該文件。 –

回答

0

所有:

看來,我應該更具體,因爲這是一個非常有針對性的回答。 我試圖加載的文件是從我已經命名爲「經理」目錄到來。經過一些測試後,似乎名稱「經理」是問題。我們重命名了目錄,問題就解決了。

換句話說,這裏是我的鏈接(我省略了名字,因爲我認爲他們最初無關緊要,但這裏是實際的鏈接):

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

我支持團隊轉發此頁,這似乎強化了這一點:

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

底線,不命名你的根文件夾「經理」的目錄。 Coldfusion/TomCat保留該名稱(至少在根級別)。

我不知道他們爲什麼這樣做(考慮到偶爾使用「經理」這個詞作爲管理員角色,因此,這個角色有一個目錄的共同趨勢),但是哦:)