为typeahead.js远程选项的ajax调用添加额外数据

Tru*_* Lê 5 typeahead.js

我想问一下如何为remote选项的AJAX调用添加额外的参数.我有以下简单的形式来搜索资格(它在Coffeescript中):

$('#search_qualification').typeahead
  name:  'qualification'
  limit: 50
  remote:
    url: "/search/qualification?term=%QUERY"
Run Code Online (Sandbox Code Playgroud)

我想通过AJAX调用发送另一个参数,也就是说state,通常使用jQuery AJAX调用,我会这样做:

$.ajax
  url: "/search/qualification"
  dataType: "json"
  data:
    term: request.term
    state: $("#state").val()
Run Code Online (Sandbox Code Playgroud)

我完全无法适应这种类型的typeahead.js,有人可以帮帮我吗?非常感谢

jha*_*ing 17

使用replace选项:

$('#search_qualification').typeahead({
  name:  'qualification'
  limit: 50
  remote: {
    url: '/search/qualification?term=%QUERY&state=%STATE'
    replace: function(url, query) {
      var state = encodeURIComponent($('#state').val());

      return url.replace('%QUERY', query).replace('%STATE', state);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)