javascript - typeahead.js 和 API themoviedb

标签 javascript twitter-bootstrap api typeahead.js typeahead

我想将 themoviedb API 与 typeahead(BootStrap 框架)一起使用,但我因使用该 API 而被阻止...

我有这段代码:

http://jsfiddle.net/koff75/uAXtd/

它将在我的控制台中返回 JSON 格式,但我不理解预输入集成... 但是,我按照这个例子 http://twitter.github.io/typeahead.js/examples/没有想法

好像是这样的?

$('.example-films .typeahead').typeahead([
  {
    name: 'best-picture-winners',
    remote: '../data/films/queries/%QUERY.json',
    prefetch: '../data/films/post_1960.json',
    template: '<p><strong>{{value}}</strong> – {{year}}</p>',
    engine: Hogan
  }
]);

感谢您的帮助...:)

最佳答案

您编写的代码被“阻止”,因为查询 themoviedb API 意味着您的代码将发出跨域请求。这些默认情况下被阻止,但您可以通过发出 JSONP 请求来解决此问题。

我在这里创建了一个使用 TheMovieDb API 的 Typeahead.js 的工作示例:

http://jsfiddle.net/Fresh/5ND8W/

实现typeahead控件的代码是:

$('#movies').typeahead({
    displayKey: 'value',
    header: '<b>Movie suggestions...</b>',
    limit: 10,
    minLength: 3,
    remote: {
        url : 'http://api.themoviedb.org/3/search/movie?query=%QUERY&api_key=470fd2ec8853e25d2f8d86f685d2270e',
        filter: function (parsedResponse) {               
            retval = [];
            for (var i = 0;  i < parsedResponse.results.length;  i++) {
                retval.push({
                    value: parsedResponse.results[i].original_title,
                    tokens: [parsedResponse.results[i].original_title]
                });
            }
            return retval;
        },
        dataType: 'jsonp'
    }
});

更新

请注意,此答案适用于 Typeahead 版本 0.9.3。 typeahead 版本 0.10.0 的更新版本使用了名为 Bloodhound 的建议引擎,可以在 here 中找到。 .

关于javascript - typeahead.js 和 API themoviedb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434566/

相关文章:

javascript - 将行为附加到 Javascript 中的命名空间调用?

html - Bootstrap Affix Content 在屏幕上滚动到很远的地方

javascript - 使用事件将玩家信息从客户端发送到服务器(minecraft bedrock API)

api - 套接字视频流

javascript - Bootstrap 箱元素选择

python - 遍历python中的dict和list

javascript - 图像滚动淡入,完成后转到下一部分

javascript - 我得到的是圆而不是曼德尔布罗

javascript - 如何使用 Jasmine 测试内部功能所需的内部功能

javascript - 在模式关闭时暂停 YouTube 视频