我正在使用 React 及其路由器来重定向我的应用程序。当我在我的服务器 Express 中使用 get 指令时,它工作正常。但是当我发出后指令时,它不会重定向。我必须做什么?这是我的代码:
(我以我期望的方式收到响应,但之后没有任何反应)
lisaApp.post('/signup', (req, res) => {
const validationResult = validateSignupForm(req.body);
if (!validationResult.success) {
return res.status(400).json({
success: false,
message: validationResult.message,
errors: validationResult.errors
});
}
var newClient = req.body
newClient.clientemailname = newClient.userclient
newClient.client_id = uuid.v4()
delete newClient.confirmPassword
ClientApi.saveClient(newClient, function (err, usr) {
if (err) return res.status(500).send(err.message)
console.log('ready to redirect') //Here, the response has a status "0k"
res.redirect('/')
});
});
最佳答案
你可以这样编写你的 api:
lisaApp.post('/signup', (req, res) => {
const validationResult = validateSignupForm(req.body);
if (!validationResult.success) {
return res.status(400).json({
success: false,
message: validationResult.message,
errors: validationResult.errors
});
}
var newClient = req.body
newClient.clientemailname = newClient.userclient
newClient.client_id = uuid.v4()
delete newClient.confirmPassword
ClientApi.saveClient(newClient, function (err, usr) {
if (err) return res.status(500).send(err.message)
console.log('ready to redirect') //Here, the response has a status "0k"
return res.status(200).json({
success:true,
redirectUrl: '/'
})
});
});
在您的 React 文件中,您可以在 POST 处理程序中使用此代码来使用 React-router 进行重定向。
this.history.pushState(null, res.redirectUrl);
关于node.js - 通过 react 在特快专递中进行重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43207966/