我正在使用jquery尝试浏览纽约时报api。我正在连接到服务器并获得JSON响应,但我无法正确迭代JSON对象,并且我的项目中没有任何内容。
这是我的代码:
var url = "http://api.nytimes.com/svc/search/v2/articlesearch.json?q=new york&page=1&api-key=9e4043438fa8df45282e8e570e9ac5ed:5:74988126";
$.getJSON(url, function (data) {
var items = [];
$.each(data, function(key, val){
items.push("<li> <a href='" + response.docs[0].web_url + "' >" + response.docs[0].abstract + "</a>" + "<p>" + response.docs[0].snippet + "</p>");
});
console.log(items);
});
以下是纽约时报api指南的链接:http://developer.nytimes.com/docs/read/article_search_api_v2
我做错了什么,我该如何解决?
非常感谢您的时间,精力和帮助。
答案 0 :(得分:0)
尝试一下:
$.getJSON(url, function (data) {
data.response.docs.forEach(function(d){
items.push("<li> <a href='" + d.web_url + "' >" + d.abstract + "</a>" + "<p>" + d.snippet + "</p>");
}
});
答案 1 :(得分:0)
纠正代码工作..
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.getJSON("http://api.nytimes.com/svc/search/v2/articlesearch.json?q=new york&page=1&api-key=9e4043438fa8df45282e8e570e9ac5ed:5:74988126", function(result){
var items = [];
$.each(result, function(i, field){
items.push("<li> <a href='" + result.response.docs[0].web_url + "' >" + result.response.docs[0].abstract + "</a>" + "<p>" + result.response.docs[0].snippet + "</p>");
alert(result.response.docs[0].web_url);
});
});
});
});
</script>
</head>
<body>
<button>Get JSON data</button>
<div></div>
</body>
</html>