我是使应用程序处理其他API的新手,特别是那些需要OAuth身份验证的应用程序。

现在,我试图在我的应用程序中获取有关Reddit头版列表的信息。

我正在查看此Reddit API文档here,但随后我正在阅读该文档,以获取Reddit的JSON表示,您只需在URL后添加.json。

所以我正在发送一个HTTP GET请求,如:

$(document).ready(function () {

    httpGetAsync("https://www.reddit.com/.json");

});

function httpGetAsync(url) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            alert(JSON.stringify(xmlHttp.responseText, null, 4));
    }
    xmlHttp.open("GET", url, true); // true for asynchronous
    xmlHttp.send(null);
}


但这似乎只是返回reddit页面上的LAST帖子,或者由于警报框无法显示巨大的JSON响应而使我无法分辨吗?

我认为是这种情况,并尝试:

var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
        parseResponse(xmlHttp.responseText);
}
xmlHttp.open("GET", url, true); // true for asynchronous
xmlHttp.send(null);


function parseResponse(responseText) {
var x = (JSON.parse(responseText));
alert(x.count);

}


但在警告框中未定义。有任何想法吗?

目标是获取Reddit JSON响应信息(标识符)的25个首页

最佳答案

您可能要使用jQuery检索和解析数据:

$.getJSON( "https://www.reddit.com/.json", function( data ) {
  $.each( data.data.children, function( i, obj ) {
     console.log(obj.data.id);
  });
});


我为您制作了一个工作示例,该示例检索了前25个ID:

https://jsfiddle.net/enmpw8qf/

关于javascript - Reddit API-API与附加.json和获取首页信息之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34280219/

10-12 13:28