gpt4 book ai didi

javascript - 对 ColdFusion 的 Bootstrap typeahead 调用

转载 作者:行者123 更新时间:2023-11-29 16:12:49 27 4
gpt4 key购买 nike

我正在尝试使用 Typeahead.js 进行简单测试,该测试从 coldfusion 组件获取其数据,该组件返回带有数据的简单 JSON 字符串。

这是我的 AjaxCtrl.cfc

<cfcomponent output="false">
<cffunction name="GetParams" access="remote" output="false">
<cfset objData = [
{ PARAMCODE = "SYSTEM_PARAM_1",
PARAMVAL = "FALSE"
},
{ PARAMCODE = "SYSTEM_PARAM_2",
PARAMVAL = true
},
{ PARAMCODE = "SYSTEM_PARAM3",
PARAMVAL = "1003"
},
{ PARAMCODE = "SYSTEM_PARAM4",
PARAMVAL = 1004
}
] />
<cfreturn objData >
</cffunction>
</cfcomponent>

因此,当我尝试在浏览器中访问 http://localhost/foo/bar/AjaxCtrl.cfc?method=GetParams 时,我得到了预期的以下输出:

[{"PARAMCODE":"SYSTEM_PARAM_1","PARAMVAL":false},{"PARAMCODE":"SYSTEM_PARAM_2","PARAMVAL":true},{"PARAMCODE":"SYSTEM_PARAM_3","PARAMVAL":1003},{"PARAMCODE":"SYSTEM_PARAM_4","PARAMVAL":1004}]

然后这是我的javascript文件

// constructs the suggestion engine
var engine = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.PARAMCODE); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: "http://localhost/dev/test/djb/AjaxCtrl.cfc?method=GetParams"
}
);

// kicks off the loading/processing of `local` and `prefetch`
engine.initialize();

$( "input.typeahead" ).typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'parameters',
displayKey: 'PARAMCODE',
source: engine.ttAdapter()
});

到目前为止,我只能让它与 LOCAL 硬编码数据示例一起使用。无论是预取还是远程,我尝试过的所有示例都不起作用。我做错了什么?

最佳答案

我通过添加 returnFormat="JSON" 解决了这个问题到我的<cffunction> ,否则它会通过“wddxpacket”发送数据,而 Typeahead 显然无法立即处理。

关于javascript - 对 ColdFusion 的 Bootstrap typeahead 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23551004/

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