我一直在使用Web api,一切都很好。现在,我尝试使用Marvel的api,但出现错误。 这是我用于所有Web API的代码
function getPosts(){
fetch('http://gateway.marvel.com/v1/public/comics?ts=1&apikey=b5dd158dd0e856443db7fb726fbc6bc9&hash=80182fcb24c6426319114b9e34eafed6')
.then((res) => res.json())
.then((info) => {
let output = '<h2 class="mb-4"> Posts </h2>';
info.forEach(function(post){
output += `
<div class="card card-body mb-3">
<h3>${post.data.results.title}</h3>
</div>
`;
});
document.getElementById('output').innerHTML = output;
})
}
答案 0 :(得分:4)
您需要访问结果的实际数组。
您正在将forEach应用于对象,forEach仅对数组进行操作
mdn docs
实际的数组在 info.data.results
示例,显示标题:
function getPosts(){
fetch('//gateway.marvel.com/v1/public/comics?ts=1&apikey=b5dd158dd0e856443db7fb726fbc6bc9&hash=80182fcb24c6426319114b9e34eafed6')
.then((res) => res.json())
.then((info) => {
info.data['results'].forEach( data => {
console.log(data.title);
});
})
}
答案 1 :(得分:1)
您可以在此处尝试使用此代码,获取标题,也可以将其标题附加到任何html标记中
$.get('http://gateway.marvel.com/v1/public/comics?ts=1&apikey=b5dd158dd0e856443db7fb726fbc6bc9&hash=80182fcb24c6426319114b9e34eafed6',function(dataObject){
var results=dataObject;
var data=results.data.results;
$.each(data,function(index,item){
var title=item.title;
console.log(title);
});
});