Вот, пожалуйста ...
Проблема здесь не похожа на ваш первый запрос на получение, это требует некоторого ввода от пользователя -> отсюда и формы ... Вы должны захватить их ввод при отправке и добавить его в searchURL -> так что, если они въедут в Испанию, ваш финал URL заканчивается как https://restcountries.eu/rest/v2/name/Spain
и т. д. и т. д. *
По сути, вам нужно изучить, как обрабатывать отправку форм ... Вы можете попробовать и разобрать и понять код, который я предоставил ниже ...
На данный момент это просто console.loging, который не возвращает и не добавляет данные в DOM, но этого должно быть достаточно, чтобы вы двигались в правильном направлении ...
const searchURL = 'https://restcountries.eu/rest/v2/name/';
async function getCountryName(name) {
const url = searchURL + name;
const response = await fetch(url);
const responseData = await response.json();
console.log(responseData);
}
function watchForm() {
$('form').submit(event => {
event.preventDefault();
const searchTerm = $('#js-search-term').val();
getCountryName(searchTerm);
});
}
$(watchForm);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 class="text-muted text-center">Countries of the World</h1>
<div class="container">
<form id="js-form">
<div class="form-group col-xs-12">
<label for="name">Enter country</label>
<input class="form-control" type="search" name="search-term" id="js-search-term" /> <br />
<input
class="form-control"
type="submit"
id="search"
value="Search by Name"
/>
</div>
</form>
<button id="show" class="btn btn-success form-control">Show All</button>
<div id="display" class="col-xs-12"></div>
</div>