You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用fetch调用Unsplash API获取数据时属性返回undefined如何解决?

问题产生原因
  • 你在请求URL中添加了count=1参数,Unsplash随机照片接口携带count参数时,返回的data是包含对应数量照片对象的数组,而非单个照片对象。直接从数组上访问仅照片对象具备的likes、views、downloads属性,自然会返回undefined。
解决方法

有两种方案可选:

  1. 保留count=1参数的前提下,取数组第一个元素再访问对应属性,修正后代码如下:
fetch(`https://api.unsplash.com/photos/random/?client_id=YILDy9SO8bXBp_dwX7aFO3R_UAs1-8v0gTrK2o2wllE&count=1`)
.then(response => response.json())
.then(data => {
    // 取数组首位的照片对象
    const photo = data[0]
    console.log(photo);
    console.log("Likes:", photo.likes);
    console.log("Views:", photo.views);
    console.log("Downloads:", photo.downloads);
});
  1. 如果你只需要单张随机照片,可以直接删除count=1参数,此时接口直接返回单个照片对象,原访问逻辑无需修改:
fetch(`https://api.unsplash.com/photos/random/?client_id=YILDy9SO8bXBp_dwX7aFO3R_UAs1-8v0gTrK2o2wllE`)
.then(response => response.json())
.then(photo => {
    console.log(photo);
    console.log("Likes:", photo.likes);
    console.log("Views:", photo.views);
    console.log("Downloads:", photo.downloads);
});

内容的提问来源于stack exchange,提问作者Satyajit Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:18:02