ColdFusion和Ajax:调用CFC时出错
我在Forta.com上尝试了多个关于此主题的教程,但遇到了相同的错误: 调用CFC/…文件路径../wgn.CFC时出错:内部服务器错误[启用] 通过将“cfdebug添加到URL参数以查看更多信息”进行调试 我正在本地机器上工作,并作为本地主机进行测试。使用sp3运行WinXP Pro。使用Coldfusion的web服务器 my.cfm和.cfc都位于webroot目录下的同一文件夹中。就我而言: c:\ColdFusion9\wwwroot\bridges.cfm和.cfc此处 因此,它们位于wwwroot下的bridges文件夹中 当用户在输入框中键入时,代码应生成一些自动建议功能。相反,它只是回吐了上述错误 这是我的cfc,名为wgn.cfc:ColdFusion和Ajax:调用CFC时出错,ajax,coldfusion,cfc,coldfusion-9,Ajax,Coldfusion,Cfc,Coldfusion 9,我在Forta.com上尝试了多个关于此主题的教程,但遇到了相同的错误: 调用CFC/…文件路径../wgn.CFC时出错:内部服务器错误[启用] 通过将“cfdebug添加到URL参数以查看更多信息”进行调试 我正在本地机器上工作,并作为本地主机进行测试。使用sp3运行WinXP Pro。使用Coldfusion的web服务器 my.cfm和.cfc都位于webroot目录下的同一文件夹中。就我而言: c:\ColdFusion9\wwwroot\bridges.cfm和.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>
这是my.cfm页面中表格的相关部分:
<cfform .....>
<cfinput name="searchIDs" type="text" autosuggest="cfc:wgn.getWGN({cfautosuggestvalue})">
//......more to form, obviously
</cfform>
更新
解决方案:
change
<cfset ArrayAppend(result, searchIDs)>
to
<cfset ArrayAppend(result, ID)>
如果你直接点击cfc,你会得到什么:{someterm}首先要测试的是你的cfc。当使用cfinvoke单独调用时,它是否工作?[code][/code]其次,IIRC健壮的调试可能会干扰ajax。假设你在本地工作,试着禁用它。那么显而易见的问题是-你的日志上写的是什么?@Edward:如果我尝试{1},其中1是我开始在输入框中输入的,那么什么都不会发生。我得到了一个完全空白的页面。@stuttsdc-是的。我也注意到了。干得好顺便说一句:总是先独立测试CFC。如果它们不能自己工作,那么当通过ajax调用时,它们肯定不能工作;