Я видел, как люди настроить запрос AJAX Bloodhound
выступает в typeahead.js
путем включения ajax
объекта, как это на их конструктору:Как отключить АЯКС «глобальный» флаг Бладхаунд в (Typeahead.js)
var locsData = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("name"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: "/locations/search.json?q=%QUERY",
ajax: {
beforeSend: function(xhr, settings) {
// maybe the 'if' is not necessary, but just to be sure...
if ($(document.activeElement).typeahead != null) {
$(document.activeElement).addClass('loading-text');
}
},
complete: function(xhr, status) {
if ($(document.activeElement).typeahead != null) {
$(document.activeElement).removeClass('loading-text');
}
}
}
},
limit: 100
});
Однако , Я смотрю на источники и не нашел способ настроить ajax таким образом в последней версии (v.0.11.1 в это время). Мне нужно отключить ajax
флаг global
, поэтому он не запускает мои загрузки gif при отправке ajax-запросов на сервер, но я не могу узнать, как это сделать.
Пробовал это в обоих направлениях. Вы заметите, что я использую struts2
я, кстати, указано в URL-:
var engine = new Bloodhound({
remote: {
url: '<s:url value="%{#typeaheadHwsnUrl}"/>'+'%QUERY%',
wildcard: '%QUERY%',
ajax: {
global: false,
}
},
datumTokenizer: Bloodhound.tokenizers.whitespace('q'),
queryTokenizer: Bloodhound.tokenizers.whitespace
});
, а также, без везения не пытался за пределами remote
объекта:
var engine = new Bloodhound({
remote: {
url: '<s:url value="%{#typeaheadHwsnUrl}"/>'+'%QUERY%',
wildcard: '%QUERY%',
},
datumTokenizer: Bloodhound.tokenizers.whitespace('q'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
ajax: {
global: false,
}
Как я могу отключить это global
flag for ajax
звонки, сделанные Bloodhound
?
я в конечном итоге делаю что-то подобное, но я оставлю это открытое сейчас и посмотреть, если как-то кто-то знает «правильный» способ решения этой проблемы, спасибо за ваш ответ, хотя! – JorgeGRC