Если кто-то использует Bloodhound с GET:
// Typeahead
personsBloodhound = new Bloodhound({
datumTokenizer: function (person) { return person.name; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/ajax/Persons/List?nameContains=%QUERY',
ajax: {
beforeSend: function(xhr) {
$(".searching-person").show();
},
data: {
"pageSize": 4,
"otherParam1": "blah",
"otherParam2": "bleh",
}
},
filter: function (response) {
$(".searching-person").hide();
return response.persons;
}
}
});
Просто используйте %QUERY в URL-адресе.
Теперь....
Если кто-то использует Bloodhound с POST, что мне следует использовать вместо %QUERY?
// Typeahead
personsBloodhound = new Bloodhound({
datumTokenizer: function (person) { return person.name; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/ajax/Persons/List',
ajax: {
type: "POST",
beforeSend: function(xhr) {
$(".searching-person").show();
},
data: {
"nameContains": ....WHAT GOES HERE?????......
"pageSize": 4,
"otherParam1": "blah",
"otherParam2": "bleh",
}
},
filter: function (response) {
$(".searching-person").hide();
return response.persons;
}
}
});
Если это неясно, вопрос:
Что эквивалентно %QUERY
при использовании POST в пульте Bloodhound?
В документации нет ясности по этому поводу (доказательство): https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md#remote
Также пробовал использовать:
"nameContains": $("#my-input-that-uses-typeahead").val(),
Но не сработало.