2013-01-04 28 views
4

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

我使用jQuery和themoviedb.org APIv3,支持JSONP。我得到的,不过,这是响应:

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

并没有真正告诉了我很多。什么?

事情我知道:

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

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

真的,我不知道我和JSON做的,所以我希望这将是一个代表性的例子,这将有助于我理解这一点。

回答

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/

注:因为这就是最有可能您REAL API密钥我会建议申请一个新的!

+0

检查你的网址是什么在输入变量填充。 –

6

您使用的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

0

需要的查询参数的正确数目。所需PARAMATERS是查询和API_KEY

如果您收到此错误通过进行urlencode或decodeing请urlencode.inurldecode.in