如何通知客户端 reCaptcha 成功

how to notify client that reCaptcha is successful

你好,我有一个简单的表单,我有 google reCaptcha v2,当用户提交表单时,我正在验证 recaptcha,但我也向用户输入的电子邮件发送电子邮件,我需要发送状态 200 两次,这是第一次我需要发送的时间

request(verifyURL, (err, res, body)=>{
        body = JSON.parse(body);
        if(body.success !== undefined && !body.success){
            return res.status(409).send({
                success: false,
                message: 'დადასტურება ვერ ვოხერხდა'
            })
        }
      return res.status(200).send({success: true})   
}) 

所以如果我发送状态代码 200 并使用 return 语句,它不会导致

Can't set headers after they are sent

错误? 如果可以,我该如何解决?

谢谢!

您不能为单个请求发送多个响应。你可以选择: 1.在同一个控制器中发送邮件,当它成功完成后,只将响应发送回客户端。您的回答将基于这两个因素,即。验证码验证和电子邮件发送响应 2. 如果您不想等待电子邮件处理.. 只需在您的验证码通过验证后发送回复.. 并在后台执行邮件处理。在这种情况下,您需要删除 return 关键字,否则您的请求将在那里结束并且邮件进程将不会执行。

但是,我建议您使用第一种方法。希望这有帮助:)