Javascript React路由器动态路由导致fetch REST api调用出现问题
对于具有动态路径的路由,在组件中调用RESTAPI时会出现问题 我的渲染函数包含:Javascript React路由器动态路由导致fetch REST api调用出现问题,javascript,reactjs,react-router,fetch,Javascript,Reactjs,React Router,Fetch,对于具有动态路径的路由,在组件中调用RESTAPI时会出现问题 我的渲染函数包含: <Provider store={store}> <Router history={history}> <Route path="/" component={home}></Route> <Route path="page1" component={page1}></Route> <Route path="
<Provider store={store}>
<Router history={history}>
<Route path="/" component={home}></Route>
<Route path="page1" component={page1}></Route>
<Route path="page2/:id" component={page2}/>
</Router>
</Provider>
此呼叫向发出请求
但是,我使用
browserHistory.push('/page2/' + uuid)
现在什么时候开始
https://localhost:3000/page2/someuuid1234
我打了一个取回电话,但我的电话是打给
https://localhost:3000/page2/myendpoint
为什么我所有的rest呼叫都要附加第2页?这导致了404请求
我假设react路由器拦截这些呼叫,并监听更新路由。我想向发出请求并收到正常响应。为什么不使用绝对url来获取
而不是相对url呢?正如上面提到的@azium。我不明白为什么不能为RESTAPI调用提供绝对路径。将它们分开将始终对您有利,因为如果明天您决定将API主机移动到另一个位置,您只需更改基本URL即可。我使用的是相对路径,因此可以灵活地适应本地和应用程序环境。如果我使用了绝对URL,那么代码是否只适用于特定的数据库服务器?我想让代码查看环境,不管它运行在哪台服务器上。@azium哦,我明白你和sumit在说什么了。你是说在我的浏览器历史通话中使用/page2。。是的,这对我很有用。为什么不使用绝对url来获取而不是相对url呢?正如上面提到的@azium。我不明白为什么不能为RESTAPI调用提供绝对路径。将它们分开将始终对您有利,因为如果明天您决定将API主机移动到另一个位置,您只需更改基本URL即可。我使用的是相对路径,因此可以灵活地适应本地和应用程序环境。如果我使用了绝对URL,那么代码是否只适用于特定的数据库服务器?我想让代码查看环境,不管它运行在哪台服务器上。@azium哦,我明白你和sumit在说什么了。你是说在我的浏览器历史通话中使用/page2。。是的,这对我很有效。
https://localhost:3000/page2/myendpoint