从 axios 请求 url 中删除 localhost:8080
Posted
技术标签:
【中文标题】从 axios 请求 url 中删除 localhost:8080【英文标题】:Remove localhost:8080 from axios request url 【发布时间】:2021-08-24 05:30:07 【问题描述】:我在向后端发出请求时遇到问题。 Axios
仍将 localhost
写为基本 url,然后添加后端 url。
GET http://localhost:8080/127.0.0.1:8000/api/projects 404(未找到)
我确实尝试了几件事。首先,我尝试更改vue-router
的基本网址。在env.development
中我写了一个VUE_APP_ROUTER_BASE_URL="/"
并将其添加到路由器配置中。
const router = new VueRouter(
mode: 'history',
base: process.env.VUE_APP_ROUTER_BASE_URL,
routes
)
export default router
但这并没有成功。然后我尝试像axios.defaults.baseUrl = "/"
一样直接更改axios baseUrl 但这也没有成功......我不确定,我错过了什么,还有其他想法如何在我向后端发出请求时重新排列baseUrl。
【问题讨论】:
如果您正在执行此操作,请不要在帖子中提供完整的 url 您在VUE_APP_ROUTER_BASE_URL
中有http://
前缀吗?
【参考方案1】:
您应该在后端 url 的开头添加“/”, “/”删除新网址之前的所有内容 或者可能是 vue-cli 应用程序的问题,请尝试在您的生产和/或开发环境中设置 publicPath 或 baseUrl。
https://cli.vuejs.org/config/#publicpath
【讨论】:
【参考方案2】:我遇到了同样的问题,所以我想出了基本的解决方案来制作满足所有要求的 URL,无论是开发和部署、API 调用以及推送到源代码控制等。
Make Base URL at Frontend using javascript (development, APIs and production)
否则,您将通过将 localhost 置于开发中并在部署中删除 loalhost 并更改 API 端口来回退
注意:它独立于框架,你可以在任何你喜欢的地方通过javascript使用它
【讨论】:
以上是关于从 axios 请求 url 中删除 localhost:8080的主要内容,如果未能解决你的问题,请参考以下文章