为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 axios 将当前 URL 附加到 Laravel/React 中的 API 调用?

为什么 axios 将当前 URL 附加到 Laravel/React 中的 API 调用?

慕运维8079593 2021-10-07 20:17:25
我正在尝试在 Laravel、React 和 Redux 中制作一个简单的项目。这是一个从 Redux Saga 工作线程调用的函数:function getTasks() {    return axios.get('/api/tasks').then(response => response.data);}现在,如果 React 根组件在主页中(URL http://localhost:8000),则向 URL http://localhost:8000/api/tasks发出请求,一切正常。但是如果根组件在另一个页面中,例如http://localhost:8000/home,则请求会发送到http://localhost:8000/api/tasks/home并且显然它不起作用。我不明白为什么将当前 URL 附加到请求的 URL,相反会更有意义。有任何想法吗?先感谢您。
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

为了确保您有正确的 api 请求,我建议您像这样为 axios 设置基本 url


axios.defaults.baseURL = "http://localhost:8000";


function getTasks() {

    return axios.get('api/tasks').then(response => response.data);

}


查看完整回答
反对 回复 2021-10-07
?
森栏

TA贡献1810条经验 获得超5个赞

您可以尝试为每个 axios 调用设置正斜杠。而不是这个

axios.get('api/tasks')

用这个:

axios.get('/api/tasks')


查看完整回答
反对 回复 2021-10-07
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

这与这些无关,我的问题无法回答,因为没有足够的上下文。基本上问题出在 React Router 上,调用了以下路由并将id分配给home,因此执行的代码在Task组件中,API 调用不同。

<Route path='/:id' component={Task} />


查看完整回答
反对 回复 2021-10-07
  • 3 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信