单击电子邮件中的 url 时,浏览器中不显示路线

Route does not display in the browser when clicking url from email

电子邮件激活后,我有以下路由,它只是加载而不是当我点击电子邮件 中的 url 时显示。 令牌肯定在那里,所以不知道是什么原因造成的。

有什么想法吗?

app.get('/LimeLINE/activate/:token', (req, res) => {
        try {
            var token = req.params.token;
        } catch (e) {
            log('e', 'app.get(/LimeLINE/activate/:token - e - 160 : ' + e)
            return res.status(403).json({
                message: "No Token"
            });
        }
        if (token) {
            //Decode the token
            jwt.verify(token, "supersecret", (err, decod) => {
                if (err) {
                    res.status(403).json({
                        message: "Expired Token"
                    });
                    log('err', 'app.get(/LimeLINE/activate/:token - err - 173 : ' + err)
                }
                req.decoded = decod;
                user.activateUser(decod, (err) => {
                    if (err) {
                        return sendStatus(500)
                        log('err', 'app.get(/LimeLINE/activate/:token - e - 179 : ' + err)
                    }
                    //console.log(decod.username)
                    try {
                        let sTopHtml = fs.readFileSync(__dirname + '/components/top.html', 'utf8')
                        let sMainHtml = fs.readFileSync(__dirname + '/html/index.html', 'utf8')
                        let sBottomHtml = fs.readFileSync(__dirname + '/components/bottom.html', 'utf8')
                        // replace placeholders
                        sTopHtml = sTopHtml.replace('{{title}}', 'LimeLINE: Get Started')
                        sMainHtml = sMainHtml.replace('{{feedback-message}}', 'feedback-message')
                    } catch (e) {
                        log('e', 'app.get(/LimeLINE/activate/:token - e - 190 : ' + e)
                        return res.sendStatus(500)
                    }
                    return res.send(sTopHtml + sMainHtml + sBottomHtml)
                })

            })
        }
    })

"hanging" 请求的一个可能原因可能是未调用 activateUser 函数中的回调。确保你总是调用给定的回调函数,即在成功和错误时。

一个建议:使用 promises/async await,因为它可以帮助您保持代码更简洁并防止此类错误。