2017-01-19 5 views
1

Я видел, как люди настроить запрос 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?

ответ

0

Сегодня утром мой коллега столкнулся с тем же самым сценарием, и он сделал обходное решение, используя $ .ajaxSend() с if-statement, чтобы определить, нуждается ли URL-адрес в загрузке GIF-анимации или нет.

Надеется, что это помогло :)

+0

я в конечном итоге делаю что-то подобное, но я оставлю это открытое сейчас и посмотреть, если как-то кто-то знает «правильный» способ решения этой проблемы, спасибо за ваш ответ, хотя! – JorgeGRC

 Смежные вопросы

  • Нет связанных вопросов^_^