本地 json 对象在 Typahead Bloodhound 中不工作

Local json object not working in Typahead Bloodhound

我在表单字段中使用 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 class:

local:  [{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]

再一次,效果很好。但是,如果我尝试将相同的数据作为变量加载,而不是显式写入:

json对象=[{"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 文件.

声明 Bloodhound 对象后,尝试初始化该对象。

var content = new Bloodhound({
   datumTokenizer: function (d) { 
     return Bloodhound.tokenizers.whitespace(d.content);
   },
   local: jsonObject
   ...
})

content.initialize();