Где я запутываю свои ссылки, которые зациклены в моем вызове ajax с помощью API Google Книг? - PullRequest
0 голосов
/ 31 октября 2019

У меня есть веб-страница, которая загружает книги Google из API Google Книг на основе введенного пользователем поиска. На странице отображается заголовок в виде ссылки и небольшая миниатюра. Я не могу заставить мои ссылки работать должным образом, они продолжают перенаправлять меня на страницу 404 Google not found. Я чувствую, что упускаю что-то очень простое, но мне нужны дополнительные глаза, чтобы найти это. Я пробовал слишком много разных вещей ... Кроме того, я пытался использовать console.log () атрибут id, чтобы увидеть, был ли он получен и сохранен, но он ничего не показывает для этого либо

Iпытались использовать this.id, data.items [i] .id и даже пытались получить ISBN и перейти на страницу Google по ссылке ISBN, которая показана в примерах API Google Книг на их веб-сайте

function bookSearch(){
  var search = document.getElementById('search').value
  document.getElementById('results').innerHTML = ""
  console.log(search)


  $.ajax({
      url: "https://www.googleapis.com/books/v1/volumes?q=" + search,
  dataType: "json",

  success: function(data) {
      for(i = 0; i < data.items.length; i ++){
          var bookid = data.items[i].id;
          console.log(bookid);
          results.innerHTML += "<a 
href='https://www.googleapis.com/books/v1/volumes/" + bookid+ "'><br/> 
   <br/><br/>" + data.items[i].volumeInfo.title + "</a>"
          results.innerHTML += '<br><img src="' + 
    data.items[i].volumeInfo.imageLinks.smallThumbnail + '">'
      }
  },
  type:'GET'
});
}

window.onload=function(){
.getElementById('button').addEventListener('click', bookSearch, false)
}

// Это мой js-файл, который ссылается на мой html. Последнее, что я попробовал сделать bookid var *

// Это мой HTML-код, в который вы вводите свой поисковый запрос, и он выводит данные из API

<h1>Book Search</h1>

<input id="search" placeholder="Search">

<button id="button" type="button">Go</button>

. пользователь на отдельной странице соответствующей книги, но вместо этого он дает мне 404.

1 Ответ

0 голосов
/ 31 октября 2019

добавьте несколько точек с запятой ; в конец ваших строк кода, вся функция поиска книг будет работать вместе и не будет работать, скорее всего, именно это останавливает ваш код.

вам не хватает некоторыхсинтаксис. со второй по последнюю строку следует читать document.getElementById ('button'). addEventListener ('click', bookSearch, false);и вам не нужно ; на конце, но это хорошая привычка.

вам нужно передать API переменную в строке запроса. попробуйте что-то вроде этого, чтобы получить результаты https://www.googleapis.com/books/v1/volumes?q=javascript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...