Javascript对象& Netflix OData jsonp结果

时间:2011-08-21 04:30:04

标签: javascript jsonp

我是使用Javascript对象和jsonp的新手。基本上,这是我的问题。我将以下请求发送到Netflix Odata服务:

http://odata.netflix.com/v2/Catalog/Genres%28%27TV%20Animated%20Comedies%27%29/Titles?$filter=Instant/Available%20eq%20true&$inlinecount=allpages&$top=5&$callback=callback&$format=json

返回以下结果:

callback({-
        d: {
            -
            results: [
                +
                { … }
                +
                { … }
                +
                { … }
                +
                { … }
                +
                { … }
            ]
            __count: "80"
        }
    });

我可以使用回调函数中的这行代码轻松访问结果,如下所示:

function callback(result) {
    movies = result["d"]["results"];
    alert(movies.length);
}

当我删除inlinecount参数时,结果如下:

callback({-
    d: [
        +
        { … }
        +
        { … }
        +
        { … }
        +
        { … }
        +
        { … }
    ]
});

但是,当我尝试使用以下代码行访问结果时:

function callback(result) {
    movies = result["d"];
    alert(movies.length);
}

我从警报中得到“未定义”。如何访问结果?

1 个答案:

答案 0 :(得分:1)

我实际上能够让它发挥作用。为了这个问题,我将对Netflix服务器的请求缩短为仅包含前5个结果,但在我的原始代码中,我返回了使用分页元素发送的服务器的最大结果。显然,我没有处理从Netflix服务器发送的分页元素。这导致了我收到的错误。