我无法让 typeahead.js 中的预取函数工作,但它对于本地数据工作得很好。我首先尝试链接到返回 json 对象或列表的 servlet,但过了一会儿我放弃了,并开始检查提供的示例。因此,他们的示例链接到的页面如下所示:http://twitter.github.io/typeahead.js/data/countries.json http://twitter.github.io/typeahead.js/data/countries.json但是,当我将脚本链接到该页面时,即使我做了与他们完全相同的事情,我的脚本甚至无法工作。我尝试将该文件复制到我的本地工作区并链接到那里,但无济于事。为了检查它是否进行了任何调用,我在每次收到 get 请求时都会使 servlet 崩溃,并且当我运行自动完成示例页面时,它确实崩溃了,因此这不是缓存问题。我尝试将 jquery 降级到 1.9.1,但这也不起作用(当前使用 1.10)。我尝试使用不同版本的 typeahead.js。我尝试使用互联网浏览器和谷歌浏览器来查看是否存在错误。
我一定遗漏了一些重要的东西,因为我已经穷尽了我能想到的所有错误来源。其他人似乎没有任何问题让这个工作。
这是我使用的代码:
<!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>
该问题似乎与浏览器存储中的数据缓存有关。
- 您可以清理浏览器存储(不是浏览器缓存)。
- 您可以更改数据集
name
在 typeahead 配置中更改为另一个配置。
-
您可以降低ttl
in prefetch
。您可以增加ttl
当然,稍后。见下文:
prefetch: {
url: 'http://twitter.github.io/typeahead.js/data/countries.json',
ttl: 1 // in milliseconds
},
浏览一下这里的代码会更清楚:http://goo.gl/TN3Gv http://goo.gl/TN3Gv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)