"Res.redirect" 从 React 到 Node 进行 Ajax 调用时不起作用?



在客户端,我对节点进行ajax调用

const res = await axios.post('/api/stripe', toPost);

其中"toPost"是一个对象,其中包含我在后端需要的一堆键值对。

在后端做了一些事情后,我想将用户重定向到"谢谢"页面。所以我想我可以用一些简单的东西来结束回应

res.redirect('/thankyou');

尽管这显示在状态代码为 200 的开发人员工具上的"网络"选项卡中。什么也没发生。

如有任何帮助,将不胜感激。

您将无法使用服务器重定向重定向 React 客户端 javascript。

在客户端上尝试此操作:

axios.post('/api/stripe', toPost)
.then( (response) => {
  if (response.ok && window){ 
    window.location.href="/thankyou"; 
    // or <Redrect to="/thankyou" /> if you are using react-router
  }
})
你可以

做的是在ajax调用应答setRedirect(true)中,接下来在渲染中放一个 {redirect && <Redirect to='/thankyou ' />}或者正如马克斯·格拉姆告诉你的那样使用history.push('/thankyou')

最新更新