Как отправить данные в теле запроса при использовании Typeahead & Bloodhound?
Я пытаюсь реализовать typeahead, источником которого является API, который ожидает GET-запрос с массивом данных, а не с URL-закодированными данными. Я пробовал несколько разных вещей в объекте «prepare», но не могу заставить его URL-кодировать параметры. Возможно ли с typeahead или jquery вообще, чтобы это не делало это? У меня есть чувство, что jquery, возможно, просто не позволяет вам сделать это, поскольку это будет считаться «плохой практикой», но изменение API на самом деле не вариант! Вот мой код:
$(document).ready(function(){
var people = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'apiUrl',
prepare: function (query, settings) {
settings.type = "GET";
settings.contentType = "application/json";
settings.DataType = "json";
settings.processData = false;
settings.data = JSON.stringify({"search":"people","query":query});
return settings;
}
}
});
$('.typeahead').typeahead(null, {
source: people
});
})
Я использую jquery 1.11.3 и typeahead.js 0.11.1.
Спасибо!