JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – Bloodhound.js:转换远程源返回的数据?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Bloodhound和远程API,我需要转换从远程API返回的结果.

API URL为https://www.googleapis.com/books/v1/volumes?q=quilting,返回具有项属性(列表)的对象.我需要将该列表返回给Typeahead,而不是顶级对象.

Bloodhound文档说there is a transform function that is supposed to do this,但我不能让它工作.

这是我的代码:

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/

这不起作用,因为我需要将项目列表提供给预先输入的UI,但这似乎并没有发生.

解决方法

尝试在远程选项中移动transform,如下所示:
remote {
  url:"fdsfds",transform: function (response){...}
}

大佬总结

以上是大佬教程为你收集整理的javascript – Bloodhound.js:转换远程源返回的数据?全部内容,希望文章能够帮你解决javascript – Bloodhound.js:转换远程源返回的数据?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: