NodeJS 通过react在特快专递中进行重定向

jhdbpxl9  于 9个月前  发布在  Node.js
关注(0)|答案(2)|浏览(106)

我正在使用react和它的路由器来重定向我的应用程序。当我在我的服务器express中使用get指令时,它工作正常。但是当我发出post指令时,它不会重定向。我必须做什么?。下面是我的代码:
(我以我期望的方式收到响应,但在此之后,什么也没有发生)

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('/')
  });
});

字符串

kiz8lqtg

kiz8lqtg1#

你可以这样编写你的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重定向。
第一个月

voj3qocg

voj3qocg2#

通过MSDN重定向POST和PUT方法具有状态303:res.status(303)

相关问题