我是使应用程序处理其他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/