Здесь довольно много проблем:
- У вас не может быть пробелов в атрибутах
id
, а также у вас не может быть несколько значений в одном id
. Используйте для этого атрибуты class
. - Ваш синтаксис
$.get()
неверен; есть дополнительные символы {}
, которые не являются необходимыми и вызывают ошибку Document.GetElementById()
должно быть document.getElementById()
- JS с учетом регистра - Объекты элементов не имеют
val()
метод, который доступен только для объекта jQuery - Вы используете «тонкую» ветвь jQuery, в которой нет методов AJAX (среди прочих). Используйте полную версию jQuery.
- В 'search'
input
отсутствует #search
id, на который вы ссылаетесь в JS, чтобы получить его значение - Созданная вами функция называется
searchGif()
, а не getData()
, как вы используете в атрибуте onclick
для HTML. - Тем не менее, не используйте атрибуты события
onX
, поскольку они устарели и больше не подходят практика. Вместо этого прикрепите обработчики событий ненавязчиво. - В ответе не всегда может быть 21 элемент или больше, поэтому удалите
[20]
и используйте либо [0]
, чтобы получить только первый элемент, либо l oop через их все.
С учетом всего сказанного, вот рабочий пример:
$('#searchgifs').on('click', function() {
var input = $('#search').val();
$.get('https://api.giphy.com/v1/gifs/search?q=' + input + '&api_key=apikey&limit=20', function(response) {
$('#img').html("<img src=" + response.data[0].images.downsized_large.url + ">")
})
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<input id="search" class="form-control mr-sm-2" type="text" placeholder="Search" value="cat">
<button class="btn btn-outline-success my-2 my-sm-0" id="searchgifs" type="submit">Search</button>
<div id="img"></div>