gpt4 book ai didi

ColdFusion cfautosuggestvalue 内容为空,即使从 cfc 返回了一个好的数组

转载 作者:行者123 更新时间:2023-12-04 06:49:00 25 4
gpt4 key购买 nike

我正在使用 ColdFusion 服务器版本 8,0,0,176276。

我正在尝试添加一个自动建议的表单字段,通过 cfc 进行异步填充。我正在使用 http://www.forta.com/blog/index.cfm/2007/5/31/coldfusion-ajax-tutorial-1-autosuggest寻找灵感和语法。

如果我使用静态查询(如 Forta 的第一个示例),autosuggest 字段工作正常。当未在表单字段中使用时,cfc 成功返回数组。

但是当我使用 cfc 进行自动建议时,没有提供任何建议。

我看不到带有“查看源代码”的输入字段的内容,但是如果我在 Chrome 中的字段上执行“检查元素”,我可以看到带有 class="yui-ac-bd"的 div 和一个 ul 在它下面。使用 cfc 时 ul 中的列表项为空,而当我使用静态查询时,列表项包含数组成员。

这是我页面上的代码:

<cfform>
<cfinput type="text" name="JobP"
autosuggest="cfc:autosuggest.AutoSuggest({cfautosuggestvalue})">
</cfform>

这是 autosuggest.cfc:

<cfcomponent output="false" >
<cffunction name="AutoSuggest" access="remote" returntype="array">
<cfargument name="ObjectType" required="false" default="JOBP">

<cfset var result=ArrayNew(1)>

<cfquery name="Objects" datasource="UC4MP">
SELECT oh_name
FROM uc4.oh
WHERE oh_otype = '#ObjectType#'
AND oh_deleteflag = 0
AND oh_lastdate > sysdate - 90
AND oh_client = 1000
and oh_name like 'A%'
ORDER BY oh_name
</cfquery>

<cfloop query="Objects">
<cfset ArrayAppend(result,oh_name)>
</cfloop>

<cfreturn result>

如果我将以下代码放在我的页面上,它会输出包含所需内容的数组:

<cfinvoke component="autosuggest" method="AutoSuggest"  returnVariable="result"> 
cfdump var="#result#">

我还没有使用 jQuery;我的大部分 CF autosuggest 谷歌搜索结果都涉及 jQuery,但我无法深入了解它们是否与我的问题相关。以防万一这将是你的建议。

最佳答案

谢谢大家的建议!我不知道有一个单独的 ajax 调试器,它的输出立即使问题变得清晰:

info:http: Invoking CFC: /rd/autosuggest.cfc , function: AutoSuggest , 
arguments: {"ObjectType":"A"}

我的 cfc 参数不包括 autosuggest 本身,因此传递给输入字段的字符串被解释为“ObjectType”(第一个参数)并在查询中使用。由于在 oh_otype = 'A' 处没有记录,因此结果始终为空。

我将我的 cfc 的参数更新为

    <cfargument name="ObjectType" required="yes" default="JOBP">
<cfargument name="autosuggest" required="yes">

和对

的调用
<cfinput type="text" name="JobP" 
autosuggest="cfc:autosuggest.AutoSuggest('JOBP',{cfautosuggestvalue})">

...现在完美运行。

关于ColdFusion cfautosuggestvalue 内容为空,即使从 cfc 返回了一个好的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com