WedX - журнал о программировании и компьютерных науках

Несколько наборов данных не работают с Twitter Typeahead / Bloodhound при использовании удаленного источника данных

На странице примеров Twitter показано, как использовать несколько наборов данных с Typeahead. Вот рабочий пример кода с использованием параметра источника данных local:

var nbaTeams = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('team'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    local: []
});

var nhlTeams = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('team'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    local: []
});

nbaTeams.initialize();
nhlTeams.initialize();

$('#multiple-datasets .typeahead').typeahead({
        highlight: true
    },
    {
        name: 'nba-teams',
        displayKey: 'team',
        source: nbaTeams.ttAdapter(),
        templates: {
            empty: [
                '<div class="tt-empty-message">',
                'No Results',
                '</div>'
            ].join('\n'),
            header: '<h3 class="tt-tag-heading tt-tag-heading2">1</h3>'
        }
    },
    {
        name: 'nhl-teams',
        displayKey: 'team',
        source: nhlTeams.ttAdapter(),
        templates: {
            empty: [
                '<div class="tt-empty-message">',
                'No Results',
                '</div>'
            ].join('\n'),
            header: '<h3 class="tt-tag-heading tt-tag-heading2">2</h3>'
        }
    });

JSFIDDLE

Если вы опробуете вышеуказанный JSFIDDLE, введя ввод на странице, вы увидите, что два набора данных показаны в раскрывающемся списке «Вперед».

Проблема, с которой я столкнулся, заключается в том, что если я изменю источник данных на remote, в раскрывающемся списке отображается только второй набор данных. Я упростил свой remote код (который фактически отправляет запрос с помощью POST вместо get), и вы можете увидеть его здесь:

JSFIDDLE

Если вы попробуете этот JSFIDDLE, вы увидите, что только второй набор данных отображается в раскрывающемся списке «Вперед». если вы просматриваете сетевой трафик при вводе ввода, вы увидите, что выполняется только один запрос AJAX, тогда как их должно быть два (по одному для каждого набора данных).

Когда я просматриваю сетевой трафик на своем веб-сайте (с моим настоящим кодом), он также показывает, что запрос сделан только для второго набора данных. Итак, по какой-то причине Typeahead / Bloodhound делает запрос только для второго набора данных, а не для каждого набора данных. Он также отображает результаты (или их отсутствие) только для второго набора данных, а не для каждого набора данных.

Почему при использовании параметра источника данных remote не работают несколько наборов данных?



Ответы:


Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]