该函数如何知道传递了哪个属性?

时间:2014-09-23 14:43:36

标签: javascript jquery ajax json

我正在检查一个小应用程序,它会从API中获取电影列表。您输入一个单词,然后它会列出所有带有该单词的电影。获取列表的代码是这一个:

var requestApi = function (query, callback) {                                   
    $.ajax({
            url: apiUrl,
            data: {
            q: query},
            dataType: 'jsonp'
            }).success(callback);
};

当代码调用此函数时,它会执行:

requestApi(movieTitle, callbackFunction);

这是JSON文件的一部分:

{
    "total": 33,
    "movies": [
        {
            "id": "10122",
            "title": "Spider-Man",
            "year": 2002,
             ...
}

我的问题是,requestApi如何知道q: query是标题?如果我致电requestApi(movieId, callbackFunction);我不明白为什么不起作用。

由于

5 个答案:

答案 0 :(得分:2)

您应该查看Api文档,q必须是文本搜索的参数。 如果你想按id搜索,你可能需要用另一个变量名补充q。

如果你看看Imdb api,你可以使用“s”进行标题搜索,使用“i”进行id搜索。 http://www.omdbapi.com/

答案 1 :(得分:1)

您在网址中提供的Api是接受电影标题作为参数。它可能像api一样休息。假设您将标题作为参数发送,您应该阅读API文档以查看要作为参数发送的内容

答案 2 :(得分:1)

因为API清楚地在数据库中查找单词电影标题。就像你手工搜索电影一样,我们可以在IMDB上说。如果您在其数据库中搜索该电影的ID

,则不会得到任何结果

答案 3 :(得分:0)

您发送请求的API端点可能只处理标题节点中的搜索。您使用的是什么API?

答案 4 :(得分:0)

快速查看http://developer.rottentomatoes.com/io-docs后,按ID或标题查找电影的网址似乎不同:

对于标题搜索,您可以在url:

处使用参数q
  

/api/public/v1.0/movies.json

按ID,您可以将ID用作网址的一部分(将:id替换为ID号):

  

/api/public/v1.0/movies/:id.json