API调用在本地工作,但在部署到heroku或zeit时失败

时间:2018-01-22 18:08:18

标签: api http heroku fetch axios

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=(实际网址应为https://hn.algolia.com/api/v1/search?query=),不知何故它在evening-chamber-42563.herokuapp.com/之间插入https://hackernews-clone-bgbmdyblch.now.sh/hn.algolia.com/api/v1/search?query=我指定的实际网址。

我认为这可能是heroku的问题,并将我的应用程序部署在zeit上以查看它是否解决了问题。同样的事情。这次它向hackernews-clone-bgbmdyblch.now.sh发出了请求("Ports" : { "80/tcp":[ { "HostIp" : "0.0.0.0", "HostPort" : "8675" } ] } 是部署我的应用的位置。)

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

谷歌搜索的时间没有帮助我,所以我在这里发布。任何帮助赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

结果显示网址中存在拼写错误(在协议之后缺少' /')。纠正后它运作良好。

当我使用错误的网址(缺少' /')在我的localhost中调用fetch时,浏览器会为我更正。但是当应用程序部署在云平台上时,它会产生问题。