【发布时间】:2015-08-23 12:36:38
【问题描述】:
我在这里查看了许多threads(以及official examples),但我似乎找不到与我自己类似的问题。
我在这里可能有点厚 - 我的 %QUERY 字符串作为远程查询的一部分被传递,这显然是我不想要的。 示例:
"NetworkError: 404 NOT FOUND - http://local.example.co:8000/search-schools/%QUERY"`
这是我的 JS(如您所见,我在一个页面上有多个输入框,每个输入框位于单独的 bootstrap3 选项卡上(这将是另一个问题的重点):
<script type="text/javascript">
var schoolSource = new Bloodhound({
hint: false,
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/search-schools/%QUERY'
}
});
schoolSource.initialize();
</script>
<script type="text/javascript">
$('#schoolSearch1').typeahead(null, {
name: 'schoolSearch1',
displayKey: 'name',
source: schoolSource
});
</script>
<script type="text/javascript">
$('#schoolSearch2').typeahead(null, {
name: 'schoolSearch2',
displayKey: 'name',
source: schoolSource
});
</script>
行为: 我可以看到,当我在输入框中输入搜索文本时,会尝试与远程 URL 进行通信,但是它传递的是文字 %QUERY 字符串,而不是输入框中的内容。
我做错了什么?如何将查询字符串传递给 Bloodhound?
【问题讨论】: