我在表单字段中使用 Typeahead Bootstrap(带有 WP 框架)。
我有一个 .json 文件存储在我的根目录中,我可以使用预取来获取它:
prefetch: {
url: '
../json/test.json',
ttl: 1
}
菜单工作得很好。现在,假设我不想使用预取,而是将数据加载到本地 json 数组中。
我有相同的 json 文件,如下所示:
[{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]
如果我将它直接加载到新的 Bloodhound 类中:
local: [{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]
再次,就像一个魅力。但是,如果我尝试将相同的数据作为变量加载,而不是显式写入:
jsonObject = [{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]
var content = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.content);
},
local: jsonObject
...
它不起作用。这似乎很简单,我只是完全想念它。
完全澄清,我正在查询 wp 数据库,并使用该结果集创建 json 文件并将其写入测试目录,然后使用 wp_localize_script 将其传递给 .js 文件。