Como enviar dados no corpo da solicitação ao usar o Typeahead & Bloodhound?
Estou tentando implementar um typeahead cuja origem é uma API que espera uma solicitação GET com um corpo de dados, não dados codificados por URL. Eu tentei algumas coisas diferentes no objeto 'preparar', mas não consigo fazê-lo codificar parâmetros de URL. É possível com typeahead, ou jquery em geral, não fazer isso? Eu tenho um pressentimento de que o jquery talvez não permita que você faça isso, pois isso seria considerado uma 'má prática', mas alterar a API não é realmente uma opção! Aqui está o meu código:
$(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
});
})
Estou usando o jquery 1.11.3 & typeahead.js 0.11.1.
Obrigado!