Как создать интерфейс, который будет извлекать информацию из API? - PullRequest
0 голосов
/ 07 ноября 2018

Итак, я хотел создать интерфейс, который будет получать информацию о пивоваренном заводе, основываясь на названии пивоваренного завода / пива. Я извлекаю API для своего кода, но я не знаю, как получить информацию из него с помощью моей кнопки. Я хочу, чтобы он показывал мне как минимум два местоположения, но каждый раз получал ошибку. Я новичок в JS и так запутался здесь, Ошибка: 404 страница не найдена - при отправке названия города. это мой код:

<!DOCTYPE html>
<html>
 <head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
 </head>
 <body>
  <h1>The Beer Mapping</h1>

  <script>
    fetch("http://beermapping.com/webservice/locquery/API_KEY")
    .then(response=>{
      return response.json()
    }).then(data=>{
      console.log(data)
    }).then(error=>{
      console.log(error)
    }));
  </script>

  <form action="/action_page.php">
   <input type="text" name="City Name">
   <input type="submit" value="submit">
  </form>

 </body>
</html>

1 Ответ

0 голосов
/ 07 ноября 2018

На странице примеров API на https://beermapping.com/api/examples/, видно, что конечная точка API, которую вы пытаетесь использовать, требует указания параметра после ключа API: http://beermapping.com/webservice/locquery/API_KEY/QUERY Если вам нужно загрузить эту страницу в браузере, вы получите пустую страницу (предположительно, без предоставления действительного ключа API), а не ошибку 404, поэтому я предполагаю, что после того, как вы предоставите свой ключ API, это должно устранить полученную ошибку 404.

Глядя на остальную часть вашего кода, я предполагаю, что необходимый параметр основан на пользовательском вводе из поля «Название города», так что это, скорее всего, параметр, который необходимо передать в URL запроса после ключа API.

Исходя из того, что URL отправки формы является файлом PHP, одним из способов передачи пользовательского ввода будет использование ключа API в URL:

fetch("http://beermapping.com/webservice/locquery/API_KEY/<?php echo $_GET['City Name']; ?>")

однако было бы также возможно обработать эту полностью клиентскую сторону, изменив обработку вашей формы, вместо этого извлекая URL, а не вызывая конечную точку на вашем веб-сервере.

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