【问题标题】:JavaScript fetch() throws error with working API QueryJavaScript fetch() 在 API 查询中抛出错误
【发布时间】:2021-04-19 22:14:10
【问题描述】:

我正在使用 openweathermap API 构建应用程序,并使用以下 fetch 命令检索数据(apiQuery 保存到字符串变量):

fetch(apiQuery)
   .then(res => res.json())
   .then(res => {
     displayCurrentData(res)
   })
   .catch(error => alert(`ERROR: ${error}`))

我已经通过将 apiQuery 字符串直接输入到浏览器中对其进行了测试,它按预期工作,但由于某种原因 fetch 抛出以下错误:ERROR: TypeError: Failed to fetch。

如何解决这个错误?

另外,我用 curl 命令尝试了相同的字符串,它说我输入了一个无效的 API 密钥,即使我输入正确并且当我将它输入到浏览器时它也可以工作。

【问题讨论】:

  • 当它尝试发送该请求时,您在“网络”选项卡中看到什么?
  • 在状态栏中显示被阻止:混合内容
  • 这意味着您的页面是使用 HTTPS 加载的,但您正在尝试使用 HTTP API。将 API URL 更改为使用 HTTPS。

标签: javascript rest fetch fetch-api openweathermap


【解决方案1】:

JavaScript 中的问题是我在 API 查询中使用的是 http 而不是 https。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-07
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多