#javascript #html
Вопрос:
Поэтому у меня есть миссия-вызвать api на этот веб-сайт : https://shrtco.de/ и использовать такие же сокращатели ссылок, как они. Но я не знаю, как это назвать . Может кто-нибудь объяснить , как это назвать, или, может быть, помочь мне, большое вам спасибо, ребята, это мой HTML-код :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<p>Enter a link</p>
<input type="text">
<button>Enter</button> <br>
<p>Short domain</p>
<input type="radio" id="domain1" name="fav_language" value="domain1">
<label for="html">shrtco.de</label><br>
<input type="radio" id="css" name="fav_language" value="CSS">
<label for="css">9qr.de</label><br>
<input type="radio" id="javascript" name="fav_language" value="JavaScript">
<label for="javascript">shiny.link</label>
<p>Link generated</p>
<a href="">ZZZZZ</a>
</div>
<script src="getAPI.js"></script>
</body>
</html>
Комментарии:
1. Вы ознакомились с примечаниями к API разработчика? Там описан полный пример. Можете ли вы более конкретно рассказать о своей проблеме? Что вы до сих пор пытались назвать API?
Ответ №1:
Следуя примеру из документации по интерфейсу, я запрограммировал здесь минимальный иллюстративный пример.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>shortcode example</title>
</head>
<body>
<input type="text" name="url" id="url" value="" required>
<button id="submit" type="submit">shorten</button>
<p id="result"></p>
<script>
const button = document.querySelector('button');
const input = document.querySelector('input');
const result = document.getElementById('result');
const shorten = (event) => {
let value = input.value.trim();
while (result.firstChild) {
result.removeChild(result.firstChild);
}
if (!value.length) {
throw new Error('well! you have to type in something!');
}
let promise = fetch('https://api.shrtco.de/v2/shorten?url=' value);
promise.then(response => {
if (response.status !== 201) {
console.log('Looks like there was a problem: ' response.status);
return;
}
response.json().then(data => {
let link = document.createTextNode(data.result.full_short_link);
result.appendChild(link);
}).catch(error => {
console.log(error.message);
})
});
}
button.addEventListener('click', shorten, false);
</script>
</body>
</html>
Что происходит в этом примере?
Во — первых, есть три элемента-элемент ввода для ввода URL-адреса для сокращения, элемент кнопки для отправки данных и абзац для отображения результатов вызова api.
Кнопка отправить получает прослушиватель событий javascript, который обрабатывает события щелчка. Каждый раз, когда вы нажимаете на эту кнопку, элемент ввода будет проверяться, если что-то было введено. Если значение входного элемента имеет длину, оно будет отправлено в службу сокращения. По этой причине мы даем обещание с помощью api выборки javascript.
Вызов с помощью api выборки возвращает обещание javascript, которое мы проверяем на наличие кода состояния ответа. api возвращает код статуса 201 «Создано», который говорит, что все в порядке. Api требуется немного времени для ответа, но затем мы можем расшифровать ответ json и распечатать сокращенную ссылку в абзаце результата.
Что вам следует делать
Попробуйте понять приведенный пример. Пожалуйста, прочтите документацию по интерфейсу, чтобы получить информацию о том, что может быть возвращено в случае успеха и что происходит, когда запрос завершается неудачно? Api выборки javascript является элементарным для этого.
Попробуйте перенести данный пример в свое приложение. Если у вас возникнут проблемы, подробно объясните эти проблемы и попросите их решить.