0
我目前正在尝试使用Flickr API和JavaScript基于搜索查询生成页面,在这种情况下是狗。当行未定义不是对象 - 尝试访问json对象时
var hyperLink = "https://www.flickr.com/photos/" + photo.owner + "/" + photo.id + ".jpg";
运行状态undefined不是一个对象photo.owner。我可以使用console.log(photo.owner)打印出photo.owner,但无法访问它只是打印出url中的信息。
的完整代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>The Flickr Experiment</title>
</head>
<body id ="1">
<script>
function jsonFlickrApi(rsp) {
var str = "";
str +="<h1>Doggo piccies from Flickr</h1>";
str +="<h3>Total piccies: " + rsp.photos.photo.length;
var i;
for (i = 0; i <= rsp.photos.photo.length; i++) {
var photo = rsp.photos.photo[i];
var imageTitle = photo.title;
var hyperLink = "https://www.flickr.com/photos/" + photo.owner + "/" + photo.id + ".jpg";
var imgLink = "https://farm" + photo.farm + ".staticflickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + "_t.jpg";
str +="<a href=\"" + hyperLink + "\"><img alt=\"" + imageTitle + "\" src=\"" + imgLink + "\"/></a>"
}
document.writeln(str);
}
</script>
<script src="https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=XXXXf&tags=golden-retriever&per_page=100&format=json">
</script>
</body>
</html>
[有作为 “JSON对象” 没有这样的事(http://benalman.com/news/2010/03/theres-no-这样的事情作为一个JSON /) –
调试你的代码。在调试器中浏览它,检查变量的值。 SO不是人力远程调试服务。 – 2017-08-16 05:52:43
谢谢@FelixKling我真的很高兴它像<=造成的那样简单,现在我已经拉了几天头发。我认为它没能在第一遍检索对象,并且非常困惑。我曾尝试过很多对象/访问数据解决方案,但没有考虑到它是由我的循环引起的。 我非常习惯于调试Java,但我仍然在学习Chrome/Safari的调试工具,所以下次我会记住这一点! – Rick