javascript - Javascript Fetch API 未在多张卡片上显示结果
问题描述
我有一个脚本,它从链接中获取数据,然后将其插入表中并将其显示给用户。脚本运行良好。但后来我决定让函数更加动态,所以我添加了 2 个参数名称和 Html div 名称,数据将显示在其中。当我第一次调用该函数时它运行良好,但在第二次调用时它没有显示任何数据。我在我的项目中使用 PHP,并且是 javascript 的新手。但我在 PHP 中做了一个类似的函数,但它有效。有什么建议么?
function getInfoByCountry(name, displayName) {
fetch("https://something.com/countries/" + name)
.then(res => res.json())
.then(data => {
output = `
<tr>
<td>Total Cases</td>
<td>${data.cases}</td>
</tr>
<tr>
<td>Today Cases</td>
<td>${data.todayCases}</td>
</tr>
<tr>
<td>Deaths</td>
<td>${data.deaths}</td>
</tr>
<tr>
<td>Recovered</td>
<td>${data.recovered}</td>
</tr>
<tr>
<td>Critical</td>
<td>${data.critical}</td>
</tr>
<tr>
<td>Active Cases</td>
<td>${data.active}</td>
</tr>
`;
document.getElementById(displayName).innerHTML = output;
});
}
getInfoByCountry("USA", "USAInfo");
getInfoByCountry("China", "ChinaInfo");
<div class="table-responsive">
<table class="table table-striped mb-0">
<tbody id="ChinaInfo">
</tbody>
</table>
</div>
解决方案
return
像这样添加
function getInfoByCountry(name, displayName) {
var display = document.getElementById(displayName);
return fetch("https://smthing.com/countries/"+name)
.then(res => res.json())
.then(data => {
output = `
<tr>
<td>Total Cases</td>
<td>${data.cases}</td>
</tr>
<tr>
<td>Today Cases</td>
<td>${data.todayCases}</td>
</tr>
<tr>
<td>Deaths</td>
<td>${data.deaths}</td>
</tr>
<tr>
<td>Recovered</td>
<td>${data.recovered}</td>
</tr>
<tr>
<td>Critical</td>
<td>${data.critical}</td>
</tr>
<tr>
<td>Active Cases</td>
<td>${data.active}</td>
</tr>
`;
document.getElementById(displayName).innerHTML += output;
}
);
}
getInfoByCountry("USA", "display");
getInfoByCountry("China", "display");
推荐阅读
- javascript - 无法在 SMS SOAP 服务中发送印地语文本
- javascript - 如何使用命令处理程序执行另一个脚本?
- c# - 如何从 /me/mailboxSettings/timeZone 返回的 Microsoft Graph API 的时区值中获取 UTC 偏移量?
- python - 无法在 Python 3 中使用 amazonify。 ModuleNotFoundError: No module named 'urlparse'
- python - 如何获得给定团队的相关用户?DRF
- c# - IEnumerable
转换为 IEnumerable - javascript - Geolocation API 在我的手机上不起作用,但在桌面上可以
- kubernetes - helm/kubernets 从连接超时发送邮件
- c++ - 在 Windows 上的 CLion 中安装 SFML
- import - 为什么 Terraform 导入静默失败?