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库。还是一样的问题。
谷歌搜索的时间没有帮助我,所以我在这里发布。任何帮助赞赏。感谢。
答案 0 :(得分:1)
结果显示网址中存在拼写错误(在协议之后缺少' /')。纠正后它运作良好。
当我使用错误的网址(缺少' /')在我的localhost中调用fetch
时,浏览器会为我更正。但是当应用程序部署在云平台上时,它会产生问题。