如何创建一个从API获取信息的接口?

问题描述 投票:0回答:1

我想创建一个接口,根据啤酒厂/啤酒名称获取啤酒厂信息。我将 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>
javascript html ajax fetch-api
1个回答
0
投票

从位于 https://beermapping.com/api/examples/ 的 API 示例页面来看,您尝试使用的 API 端点似乎需要在 API 密钥后提供一个参数: http://beermapping.com/webservice/locquery/API_KEY/QUERY 如果您要在浏览器中加载该页面,您将得到一个空白页面(可能是因为没有提供有效的 API 密钥)而不是 404 错误,因此我假设一旦您提供了 API 密钥,这应该会消除收到的 404 错误。

查看其余代码,我假设所需的参数基于“城市名称”字段中的用户输入 - 因此这很可能是需要在 API 密钥之后传递到查询 URL 的参数。

基于表单提交 URL 是 PHP 文件,传递用户输入的一种方法是在 URL 中的 API 密钥之后使用:

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

但是,也可以通过更改表单处理来获取 URL,而不是调用 Web 服务器上的端点,从而完全在客户端进行处理。

© www.soinside.com 2019 - 2024. All rights reserved.