【问题标题】:ColdFusion & Ajax: Error Invoking CFCColdFusion 和 Ajax:调用 CFC 时出错
【发布时间】:2010-10-13 15:00:15
【问题描述】:

我已经尝试了 Forta.com 上有关此主题的多个教程,但遇到了相同的错误: “调用 CFC/..(文件路径)../wgn.cfc 时出错:内部服务器错误 [启用 通过将 'cfdebug 添加到您的 URL 参数以查看更多信息进行调试]"

我正在本地机器上工作并以本地主机身份进行测试。使用 sp3 运行 WinXP Pro。使用 Coldfusion 的 Web 服务器。

我的 .cfm 和 .cfc 都在 webroot 下的同一个文件夹中。就我而言: c:\ColdFusion9\wwwroot\bridges(此处为 .cfm 和 .cfc) 因此,它们位于 wwwroot 下的“bridges”文件夹中。

当用户在输入框中输入内容时,代码应该会生成一些自动提示功能。相反,它只是吐出上述错误。

这是我的名为 wgn.cfc 的 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>

【问题讨论】:

  • 直接点击cfc会得到什么:domain.com/path/wgn.cfc?method=getWGN&search={someterm}
  • 首先要测试的是您的 CFC。使用 cfinvoke 独立调用时是否有效? [code][/code] 其次,IIRC 健壮的调试可能会干扰 ajax .假设您在本地工作,请尝试禁用它。
  • 那么显而易见的问题是 - 你的日志是怎么说的?
  • @Edward:如果我尝试localhost:8500/bridge/wgn.cfc?method=getWGN&search={1},其中“1”是我开始在输入框中输入的内容,没有任何反应。我得到一个完全空白的页面。
  • @stuttsdc - 是的。我也刚注意到。做得好。顺便说一句:始终首先独立测试 CFC。如果它们自己不工作,那么在通过 ajax 调用时肯定不会工作;)

标签: ajax coldfusion cfc coldfusion-9


【解决方案1】:

更新 解决方案:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    相关资源
    最近更新 更多