【问题标题】:API call works locally, but fails when deployed to heroku or zeitAPI 调用在本地工作,但在部署到 heroku 或 zeit 时失败
【发布时间】:2018-07-01 10:44:37
【问题描述】:

HTTP GET 调用在本地运行良好,但在应用部署到 heroku 或 zeit 时失败。

代码如下:

const searchUrl = "https:/hn.algolia.com/api/v1/search?query=" + searchTerm;
    axios({
      method: "get",
      url: searchUrl,
      responseType: "json"
    })

我正在调用 Hackernews API。但是当我在heroku中加载应用程序时打开网络选项卡时,我看到它正在调用https://evening-chamber-42563.herokuapp.com/hn.algolia.com/api/v1/search?query=(实际的url应该是https://hn.algolia.com/api/v1/search?query=),不知何故它在我的实际URL之间插入evening-chamber-42563.herokuapp.com/已经指定了。

我认为这可能是 heroku 的问题,并在 zeit 上部署了我的应用程序,看看它是否能解决问题。又是同样的事情。这次它向https://hackernews-clone-bgbmdyblch.now.sh/hn.algolia.com/api/v1/search?query= 发出请求(hackernews-clone-bgbmdyblch.now.sh 是我的应用程序的部署位置)。

我尝试使用原生 fetch 和 axios 库。还是同样的问题。

几个小时的谷歌搜索对我没有帮助,所以我在这里发布。任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: api http heroku fetch axios


    【解决方案1】:

    原来 URL 中有错字(协议后缺少“/”)。改正后效果很好。

    当我在本地主机中使用不正确的 URL(缺少“/”)调用 fetch 时,浏览器会为我更正它。但是,当应用程序部署在云平台上时,它会产生问题。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 2020-01-09
      • 1970-01-01
      相关资源
      最近更新 更多