我尝试在html的div中显示一个图像,我使用fetch从API中获取json数据:https://collectionapi.metmuseum.org/public/collection/v1/objects/435828。响应提供json date,图像url名为“primaryImage”。我可以用文本显示它,但不能显示为图像。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Image</title>
</head>
<body>
<img id="test">
<script>
let getimage = document.getElementbyId('test');
getimage.src= "data"
fetch('https://collectionapi.metmuseum.org/public/collection/v1/objects/435828')
.then((response) => response.json())
.then((data) => texting.innerText = data.primaryImage);
</script>
</body>
</html>
2条答案
按热度按时间piztneat1#
对于示例页,
替换;
符合;
piwo6bdm2#
该过程相当简单,可描述如下:
image
缓存在一个变量中,以便以后可以访问它。API
发出请求。JSON
。image
源,或者具体地说,更新src
属性,作为API
响应的primaryImage
字段。下面是一个现场演示:
您还可以考虑在加载图像时添加一个加载文本或微调器,但我不打算深入研究,因为这会使我的答案超出范围。
请记住,情况并不总是这样,因为API可以不同,它们返回响应的方式也可以改变。无论如何,大多数情况下都是一样的。
我建议您看一看Fetch API及其工作原理。