4

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

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

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

这并不能告诉我很多。什么身份证?

我知道的事情:

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

这是一个jsfiddle,这是关于搜索电影的API 文档。此外,请查看此版本的 API 文档。我认为这与查询参数有关。

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

4

3 回答 3

9

您只需要正确数量的查询字符串参数。所需的参数是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/

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

于 2013-01-04T07:03:36.300 回答
5

The URL you use is not correct, your examples generates the following request:

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

but according to the API documentation it should look like this:

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

I have forked and updated your jsfiddle

于 2013-01-04T06:57:40.150 回答
0

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

如果您通过 urlencode 或解码遇到错误,请在urlencode.inurldecode.in检查您的 url

于 2015-12-30T09:35:47.020 回答