【问题标题】:Is it possible to get 3rd party API using client-side script only [closed]是否可以仅使用客户端脚本获取第 3 方 API [关闭]
【发布时间】:2018-05-08 21:23:30
【问题描述】:

假设我可以使用带有 API-KEY 的 3rd 方 API 来检查运费

是否可以仅使用客户端脚本(如 javascript 或 mustache 或其他)获取/请求数据?

这是来自提供商的documentation

【问题讨论】:

  • 如果您有 api 密钥,那么这是可能的。唯一的问题是与客户端共享您的 api 密钥,以便任何人都可以使用它。解决方案是让第三方为您的主机提供服务,因此只有来自您的主机和您的密钥的调用才会被处理。
  • 您的意思是我应该将主机用于服务器端脚本吗?如果是,那么它会给我带来另一个问题,:) 我只在 localhost 中使用静态 Web 应用程序,因为目的只是为了学习和练习
  • 如果它只是用于学习并且您不会将其暴露给公众 - 忘记我之前所说的并使用您的密钥从 localhost 使用它。但是,请注意不要将密钥暴露给源代码控制或公共访问权限。

标签: javascript api client-side-scripting


【解决方案1】:

您可以使用 AJAX 做到这一点。

如果您必须向 https://api.rajaongkir.com/starter/province 发送 GET,AJAX 请求将如下所示:

$.ajax({
         url: "https://api.rajaongkir.com/starter/province",
         type: "GET",
         beforeSend: function(xhr){xhr.setRequestHeader('key', 'API Key');},
         success: function() { //do something here post the GET }
      });

更新:

您需要将jQuery 用于$.ajax。您可以通过在项目中包含 jQuery 库来做到这一点。在您的 <head> 中,添加以下内容:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

这应该使您能够使用 AJAX 发送异步网络请求。

我写了一个请求,我发送一个 GET 到 https://swapi.co/api/people/1/ 并在 div 中显示名称

https://jsfiddle.net/raj7desai/mtdnzoh0/

【讨论】:

  • 如果不需要 jQuery,最好提一下 fetch 方法
  • @raj7desai 你介意解释一下我应该如何将 AJAX 与 HTML 表单输入集成,或者可能是上面代码中的 axample
  • 您似乎遇到了 CORS 错误。同样的问题:stackoverflow.com/questions/66637361/…
猜你喜欢
  • 2012-01-29
  • 2011-01-05
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
  • 2021-10-25
相关资源
最近更新 更多