Я использую 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":"Название 1","content":"Безумные туалеты"},{"title":"Название 2","content":"Diddly Bones"}]
var content = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.content);
},
local: jsonObject
...
Это не работает. Кажется, это что-то простое, и я просто полностью упускаю это из виду.
Полное пояснение, я запрашиваю базу данных wp и с помощью этого набора результатов создаю файл json и записываю его в тестовый каталог, а затем передаю его в файл .js с помощью wp_localize_script.