提问人:isjfop 提问时间:7/9/2020 更新时间:7/9/2020 访问量:875
有没有办法从用户输入中获取带有端点的 API?
Is there a way to fetch an API with endpoints from user input?
问:
我不善于解释这一点。所以,基本上,我正在制作另一个冠状病毒追踪器,我希望用户能够在表格中输入他们国家/地区的名称(“搜索框”以使其更易于理解)。按回车键后,将从带有jQuery的API中获取数据,如下所示: 数据将显示在网站上。有没有办法做到这一点?谢谢。https://api.covid19api.com/country/<USER_INPUT>
答:
0赞
AKX
7/9/2020
#1
如果 API 支持 CORS,当然可以。运行代码片段以查看 POC。
async function search() {
const country = document.getElementById("country").value.trim();
if(!country) return alert("Enter a country.");
const url = `https://api.covid19api.com/country/${country}`;
try {
document.getElementById("output").value = "Fetching...";
const res = await fetch(url);
if(!res.ok) throw new Error("Result not OK");
const data = await res.json();
document.getElementById("output").value = JSON.stringify(data, null, 2);
} catch(err) {
alert(err);
}
}
* {
box-sizing: border-box;
}
label {
display: block;
}
textarea {
width: 100%;
display: block;
}
<form onsubmit="search(); event.preventDefault(); return false">
<label>Country: <input type=search placeholder="Country code (e.g. FI)" id="country"></label>
<button type=submit>Search</button>
</form>
<hr />
<textarea readonly id="output" rows=10 placeholder="Results appear here"></textarea>
评论