我在YouTube上关注了phpacademy的自动推荐视频系列,但此时却陷入困境,似乎无法找到错误的内容:
这是我的表格:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="scripts/typeahead.js"></script>
<script src="scripts/searchScript.js"></script>
<form action="index.php" method="GET">
<input type="text" name="user" id="header-query"><input type="submit" name="submit" value="Go">
</form>
这是我的searchScript.js
$(function(){
var users = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitepsace,
remote: 'inc/search.inc.php?query=%QUERY'
});
users.initialize();
$('#header-query').typeahead({
hint: true,
highlight: true,
minlength: 3
}, {
name: 'user',
displaykey: 'name',
source: users.ttAdapter()
});
});
我的firefox控制台上出现以下错误:
Error: datumTokenizer and queryTokenizer are both required
...,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFuncti...
On Jquery.min.js(line2, col 1820)
答案 0 :(得分:3)
尝试以下方法:
似乎你错误拼写了js文件包含
目前是:
<script src="scripts/typahead.js"></script>
应该是
<script src="scripts/typeahead.js"></script>
要进一步解决问题,请包含typeahead.bundle.js脚本。我想你可能会错过bloodhound.js代码:
<script type='text/javascript' src="http://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js"></script>