尝试使用StackExhange API JSON请求访问upvote和downvote

时间:2013-06-15 19:30:52

标签: jquery json api

我刚刚开始使用Stack Exchange API,为此,我正在尝试返回一个包含upvote和downvote数字的最新帖子列表。我正在使用jQuery和Ajax方法。

$.ajax({
        url: 'http://api.stackexchange.com/2.1/questions',
        dataType: 'jsonp',
        jsonp: 'jsonp',
        data: {
            pagesize: 20,
            filter_type: 'unsafe',
            included_fields: ['questions.up_vote_count','questions.down_vote_count'],
            site: 'stackoverflow'
        },
        success: function (data) {
            $.each(data.items, function (i, data) {
                var question_list = '<li><span class=votes><b class=upvote>' + data.up_vote_count + '</b><b class=downvote>' + data.down_vote_count + '</b></span><a href="' + data.link + '">' + data.title + '</a></li>';
                $('ul.list-items').append(question_list);
            });
        }
    });

我理解我需要设置过滤器和包含的字段,因为默认情况下不包括上下投票数据。当我调用up和down数据时,我的代码返回undefined。任何人都可以证明我这样做是错误的吗?

1 个答案:

答案 0 :(得分:0)

您没有正确设置自定义过滤器。我检查了问题API的用法并生成了this filter for the query

您可以在命名的自定义查询中指定questions.up_vote_count等字段,但现在这已足够:

data: {
    pagesize: 20,
    filter: 'cvwvFLMyvV',
    site: 'stackoverflow'
    }

在此处查看结果:http://jsfiddle.net/UvjFR/