【问题标题】:Add extra data for ajax call of typeahead.js remote option为 typeahead.js 远程选项的 ajax 调用添加额外数据
【发布时间】:2013-07-24 11:07:12
【问题描述】:

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

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

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

$.ajax
  url: "/search/qualification"
  dataType: "json"
  data:
    term: request.term
    state: $("#state").val()

我完全不知道如何将它用于 typeahead.js,有人可以帮我吗?非常感谢

【问题讨论】:

    标签: typeahead.js


    【解决方案1】:

    使用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);
        }
      }
    });
    

    【讨论】:

    • 不使用 replace 并简单地修改 url 以适应任何额外参数的任何缺点,例如/search/qualification?term=%QUERY&state='+encodeURIComponent($('#state').val());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多