首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bloodhound.js:转换远程源返回的数据?

Bloodhound.js:转换远程源返回的数据?
EN

Stack Overflow用户
提问于 2015-04-27 11:55:17
回答 1查看 8.7K关注 0票数 7

我使用的是带远程API的血狗,我需要转换从远程API返回的结果。

API是https://www.googleapis.com/books/v1/volumes?q=quilting,它返回一个具有items属性的对象,该属性是一个列表。我需要将该列表返回到Typeahead,而不是顶级对象。

血猎犬的医生说 function that is supposed to do this,但我不能让它工作。

这是我的代码:

代码语言:javascript
复制
var books = new Bloodhound({
  datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.num); },
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  remote: {
    url: 'https://www.googleapis.com/books/v1/volumes?q=quilting'
  },
  transform: function(response) {
    console.log('transform', response);
    return response.items;
  }
});
books.initialize();

// instantiate the typeahead UI
$('#myTextBox').typeahead(null, {
  displayKey: function(suggestion) {
    console.log('suggestion', suggestion);
    return suggestion.volumeInfo.title + suggestion.volumeInfo.publishedDate;
  },
  source: numbers.ttAdapter()
});

这里还有一个JSFIddle:http://jsfiddle.net/2Cres/46/

这不起作用,因为我需要将items列表输入到预先输入的UI中,但这似乎并没有发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 12:14:12

尝试在远程选项中移动转换,如下所示:

代码语言:javascript
复制
remote {
  url:"fdsfds",
  transform: function (response){...}
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29895014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档