【问题标题】:typeahead bloodhound custom headers预先输入 Bloodhound 自定义标头
【发布时间】:2015-12-29 02:45:04
【问题描述】:

我想在我的 Bloodhound 请求中添加一个自定义标头,这是我的代码,但它不起作用。

var datasource = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.whitespace,
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: url,
        prepare: function (query, settings) {
            var authHeaders;
            settings.type = "POST";
            settings.data = param + '=' + query;
            settings.headers = {
                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
            };


            return settings;
        },
        wildcard: '%QUERY'
    }
});

有什么想法吗?

【问题讨论】:

标签: ajax typeahead bloodhound


【解决方案1】:

为typeahead.js v0.11.0添加自定义header的方法是:

var bloodhound = new Bloodhound({
datumTokenizer: function (d) {
  return Bloodhound.tokenizers.whitespace(d.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,

remote: {
  url: 'https://server/api/v1/clients?auth_token=3000193534a97fc4a252ddfc966e3ef178c071e4079d35ce4b',
  prepare: function (query, settings) {
    settings.url = settings.url + '&q=' + query
    settings.headers = {
      "Authorization": "Basic " + btoa("username:password")
    };

    return settings;
  }
},
limit: 5 });

【讨论】:

  • 你的回答很完美。我花了太多时间试图解决本来应该很简单的事情。谢谢
猜你喜欢
  • 2017-05-06
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
相关资源
最近更新 更多