我无法让typeahead.js中的预取函数工作,尽管它对本地数据很好。我第一次尝试链接到一个返回json对象或列表的servlet,但是过了一段时间,我放弃了这一点,并开始检查提供的示例。因此,他们的示例链接到类似于这样的页面:http://twitter.github.io/typeahead.js/data/countries.json,但是,当我将它链接到该页面时,我的脚本甚至无法工作,即使我所做的事情与它们完全相同。我尝试将该文件复制到我的本地工作区,并将其链接到那里,但没有结果。为了检查它是否进行了任何调用,每次它收到get请求时,我都会发出servlet崩溃,而且当我运行自动完成示例页面时,它就崩溃了,因此它不是缓存问题。我试着将jquery降级到1.9.1,但这也不起作用(目前使用的是1.10)。我尝试使用不同版本的typeahead.js。我试着使用和google来查看错误是否存在。
一定有重要的东西,我错过了,因为我已经用尽了每一个来源的错误,我可以想到。其他人似乎没有任何问题,让这件事起作用。
下面是我使用的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Demo</title>
<link rel="stylesheet" type="text/css" href="typeahead.js-bootstrap.css">
</head>
<body>
<script src="jquery.js"></script>
<script src="typeahead.js"></script>
<input type="text" class="typeahead" placeholder="test" />
<script>
$(document).ready(function() {$('.typeahead').typeahead({
name: "Auto" ,
ttl_ms: 10000,
prefetch: 'http://twitter.github.io/typeahead.js/data/countries.json',
//local: ['abc', 'acd', 'ade', 'bcd]
});});
</script>
</body>
</html>发布于 2013-07-06 13:32:08
这个问题似乎与浏览器存储中的数据缓存有关。
name更改为另一个。ttl中降低prefetch。当然,您以后可以增加ttl。见下文:
预取:{ url:'http://twitter.github.io/typeahead.js/data/countries.json',ttl: 1 //毫秒},如果您在这里浏览代码:http://goo.gl/TN3Gv,将更加清楚。
https://stackoverflow.com/questions/17294606
复制相似问题