Javascript 猎犬,预取保存在我文件中的json文件
我通过这里给出的例子学习《猎犬》: 当我从Github上国家的示例JSON文件中预取时,效果很好Javascript 猎犬,预取保存在我文件中的json文件,javascript,json,bloodhound,Javascript,Json,Bloodhound,我通过这里给出的例子学习《猎犬》: 当我从Github上国家的示例JSON文件中预取时,效果很好 var countries = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.whitespace, queryTokenizer: Bloodhound.tokenizers.whitespace, // `states` is an array of state names defined in "The Basics
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
// `states` is an array of state names defined in "The Basics"
prefetch: 'https://raw.githubusercontent.com/twitter/typeahead.js/gh-
pages/data/countries.json'
});
但是,当我在本地保存JSON时,它停止工作
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'file:///C:/Users/nicho/workspace/TypeAhead/Countries.json'
});
当我将保存的JSON链接放到浏览器中时,它显示的内容与Github上的JSON文件相同
为什么猎犬在读取我的本地JSON文件时遇到问题 给它一个相对路径,如下所示:
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'Countries.json'
});
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: "countries.json",
cache: false
}
});
或者据我所知,你的问题是使用已经下载的countries.json版本。您应该清除缓存并清除本地存储(localStorage.clear())。或者可以添加cache:false,如下所示:
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'Countries.json'
});
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: "countries.json",
cache: false
}
});
给它一个相对路径,如下所示:
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'Countries.json'
});
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: "countries.json",
cache: false
}
});
或者据我所知,你的问题是使用已经下载的countries.json版本。您应该清除缓存并清除本地存储(localStorage.clear())。或者可以添加cache:false,如下所示:
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'Countries.json'
});
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: "countries.json",
cache: false
}
});