Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js &引用;Res.redirect";从React到节点进行Ajax调用时不工作?_Node.js_Reactjs - Fatal编程技术网

Node.js &引用;Res.redirect";从React到节点进行Ajax调用时不工作?

Node.js &引用;Res.redirect";从React到节点进行Ajax调用时不工作?,node.js,reactjs,Node.js,Reactjs,在客户端,我对节点进行ajax调用 const res = await axios.post('/api/stripe', toPost); 其中“toPost”是一个对象,具有一组我在后端需要的键值对 在后端完成一些操作后,我想将用户重定向到“谢谢”页面。所以我想我可以用一个简单的方法来结束回答 res.redirect('/thankyou'); 虽然这会显示在状态代码为200的开发人员工具的“网络”选项卡中。什么也没发生 非常感谢您的帮助。您将无法重定向React客户端javascri

在客户端,我对节点进行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
  }
})
axios.post('/api/stripe',toPost)
。然后((响应)=>{
如果(response.ok&&window){
window.location.href=“/thankyou”;
//或者如果您正在使用react路由器
}
})

>我认为你不能遵循Ajax请求中的重定向,试着在你的响应中设置某种标志,如果在客户端设置了标志,那么做一个窗口.Orth.HeRF。我同意Akhil,你不能在Ajax请求中间做一个服务器重定向。如果您使用的是React(正如标题所示),那么无论如何都不应该执行服务器端重定向。这会不必要地中断应用程序的流程。我建议您在应用程序中使用React路由器,然后在完成后渲染组件:好极了,伙计。谢谢。一切正常。最后使用res.redirect。你把
放在哪里?因为你不能把表达式放在那里,它应该是函数调用或赋值?
应该在另一个组件中呈现(请参阅)。上面的例子是REST响应后触发的回调;根据您的设置,答案可能会有所不同。在
内,然后
您可以使用
历史记录。按