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

我正在尝试在 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,相反会更有意义。


有任何想法吗?先感谢您。


慕运维8079593
浏览 169回答 3
3回答

开心每一天1111

为了确保您有正确的 api 请求,我建议您像这样为 axios 设置基本 urlaxios.defaults.baseURL = "http://localhost:8000";function getTasks() {    return axios.get('api/tasks').then(response => response.data);}

森栏

您可以尝试为每个 axios 调用设置正斜杠。而不是这个axios.get('api/tasks')用这个:axios.get('/api/tasks')

鸿蒙传说

这与这些无关,我的问题无法回答,因为没有足够的上下文。基本上问题出在 React Router 上,调用了以下路由并将id分配给home,因此执行的代码在Task组件中,API 调用不同。<Route&nbsp;path='/:id'&nbsp;component={Task}&nbsp;/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript