使用Bloodhound和Typeahead的POST请求

时间:2018-08-22 07:35:53

标签: javascript post autocomplete typeahead.js bloodhound

我有一个简单的发帖请求

$('#searchTerm').on('input', function(){
        var keyword = $(this).val()
        if (keyword.length > 0){
            $.ajax({
                    type: 'POST',
                    data: JSON.stringify({"keyword":keyword}),
                    contentType: 'application/json',
                    url: '/localsite/autocomplete',
                    error: function (err) {
                        console.log(err);
                    },                      
                    success: function(response) {   
                        /*response is an array of keywords*/
                        autocomplete(document.getElementById("searchTerm"), response);
                    }
                });
        }

    });

我正在使用的autocomplete函数来自此example 而且工作正常。

现在,我想尝试使用typeahead和bloodhound来实现此功能。我尝试了我可以找到的大多数示例和解决方案,但仍然无法正常工作。 这是我的预先输入和猎犬代码

var queryInput = $('#searchTerm')
var keywords = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.whitespace,
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: "/localsite/autocomplete",
        prepare: function (query, settings) {
            settings.type = "POST";
            settings.contentType = "application/json";
            settings.data = JSON.stringify({"keyword":query});
            return settings;
        }
    }
});
$('.typeahead').typeahead({
  hint: true,
  highlight: true,
  minLength: 1
},
{
  name: 'keywords',
  source: keywords
});

我想念什么?为什么这么难?伙计们请帮忙!

0 个答案:

没有答案