2010-10-13 73 views
1

我已經嘗試了多個關於這個主題從Forta.com教程,但遇到了同樣的錯誤: 「錯誤調用CFC/....(文件路徑)../ wgn。 cfc:內部服務器錯誤[啓用 調試通過添加'cfdebug到您的URL參數查看更多信息]「ColdFusion&Ajax:錯誤調用CFC

我正在我的本地計算機上工作並測試爲localhost。使用sp3運行WinXP Pro。使用Coldfusion的網絡服務器。

我的.cfm和.cfc都位於webroot下的同一文件夾中。在我的情況下: c:\ ColdFusion9 \ wwwroot \ bridges(.cfm和.cfc here) 因此,它們位於wwwroot下的「網橋」文件夾中。

當用戶在輸入框中鍵入內容時,代碼應該生成一些自動提示功能。相反,它只是回吐上述錯誤。

這是我的CFC命名wgn.cfc:

<cfcomponent output="false"> 
    <cfset THIS.dsn="bridges"> 
     <!--- Lookup used for auto suggest ---> 
     <cffunction name="getWGN" access="remote" returntype="array"> 
     <cfargument name="search" type="any" required="false" default=""> 
     <!--- Define variables ---> 
     <cfset var data=""> 
     <cfset var result=ArrayNew(1)> 
     <!--- Do search ---> 
     <cfquery datasource="#THIS.dsn#" name="data"> 
     SELECT tblIDs.ID 
     FROM tblIDs 
     WHERE (tblIDs.IDType = 'xxx') AND (tblIDs.ID Like ('#ARGUMENTS.search#%')); 
     </cfquery> 
     <!--- Build result array ---> 
     <cfloop query="data"> 
     <cfset ArrayAppend(result, searchIDs)> 
     </cfloop> 
     <!--- And return it ---> 
     <cfreturn result> 
     </cffunction> 
</cfcomponent> 

這是從我的.CFM頁面形式的相關部分:

<cfform .....> 
    <cfinput name="searchIDs" type="text" autosuggest="cfc:wgn.getWGN({cfautosuggestvalue})"> 
    //......more to form, obviously 
    </cfform> 
+0

如果你直接點擊cfc,你會得到什麼:http:// ww w.domain.com/path/wgn.cfc?method=getWGN&search={sterm> – 2010-10-13 15:28:22

+0

首先要測試的是您的CFC。使用cfinvoke獨立調用時是否工作?第二,IIRC強大的調試可能會干擾。[code] [/ code]阿賈克斯。假設您在本地工作,請嘗試禁用它。 – Leigh 2010-10-13 15:29:21

+0

所以一個顯而易見的問題是 - 你的日誌說什麼? – 2010-10-13 15:29:31

回答

2

UPDATE 解決方案:

change 
<cfset ArrayAppend(result, searchIDs)> 
to 
<cfset ArrayAppend(result, ID)>