带有 jQ​​uery 的 themoviedb JSON API

Posted

技术标签:

【中文标题】带有 jQ​​uery 的 themoviedb JSON API【英文标题】:themoviedb JSON API with jQuery 【发布时间】:2012-12-18 14:30:15 【问题描述】:

我正在尝试做一些看起来应该很简单的事情。获取文本字段的输入并通过 API 在 themoviedb.org 数据库中搜索。

我正在使用 jQuery 和 themoviedb.org APIv3,它支持 JSONP。不过,我得到的只是这样的回应:

"status_code":6,"status_message":"Invalid id - The pre-requisite id is invalid or not found"

这并不能告诉我很多。什么ID?

我知道的事情:

我有正确的 API 密钥 搜索按钮正在提交并正确获取输入值

这里是jsfiddle,这里是关于搜索电影的API documentation。另外,请查看 API 文档的 this version。我认为这与查询参数有关。

真的,我不知道我在用 JSON 做什么,所以我希望这将是一个有代表性的例子,可以帮助我理解它。

【问题讨论】:

【参考方案1】:

您使用的 URL 不正确,您的示例生成以下请求:

http://api.themoviedb.org/3/search/MOVIENAME?api_key=APIKEY

但根据 API 文档,它应该如下所示:

http://api.themoviedb.org/3/search/movie?api_key=APIKEY&query=MOVIENAME

我已经分叉并更新了你的jsfiddle

【讨论】:

【参考方案2】:

您只需要正确数量的查询字符串参数。所需的参数是queryapi_key。我在这里找到了这些要求http://docs.themoviedb.apiary.io/#get-%2F3%2Fsearch%2Fmovie。试试这个吧:

$(document).ready(function() 
    var url = 'http://api.themoviedb.org/3/',
        mode = 'search/movie?query=',
        input,
        movieName,
        key = '&api_key=470fd2ec8853e25d2f8d86f685d2270e';

    $('button').click(function() 
        var input = $('#movie').val(),
            movieName = encodeURI(input);
        $.ajax(
            type: 'GET',
            url: url + mode + input + key,
            async: false,
            jsonpCallback: 'testing',
            contentType: 'application/json',
            dataType: 'jsonp',
            success: function(json) 
                console.dir(json);
            ,
            error: function(e) 
                console.log(e.message);
            
        );
    );
);​

工作小提琴:http://jsfiddle.net/fewds/srdHD/3/

注意: 因为这很可能是您的 REAL api 密钥,我建议您申请一个新的!

【讨论】:

输入变量的内容是什么。【参考方案3】:

需要正确数量的查询参数。需要的参数是query和api_key

如果您通过 urlencode 或解码遇到错误,请检查您的网址 urlencode.in 或 urldecode.in

【讨论】:

以上是关于带有 jQ​​uery 的 themoviedb JSON API的主要内容,如果未能解决你的问题,请参考以下文章

带有 jQ​​uery 验证插件的引导程序

带有 jQ​​uery 悬停淡入淡出效果的表格

带有 jQ​​uery 的 Django 模板“包含”标签

带有 jQ​​uery.ajax() 的 CORS

带有 jQ​​uery 的 Asp Mvc 视图

使用带有 jQ​​uery 插件的 Browserify