Маршрут не отображается в браузере при нажатии URL-адреса из электронной почты - PullRequest
0 голосов
/ 20 мая 2018

У меня есть следующий маршрут после активации по электронной почте , который только загружается и не отображается, когда я нажимаю на 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)
                })

            })
        }
    })

1 Ответ

0 голосов
/ 20 мая 2018

Одной из возможных причин «зависания» запроса может быть то, что обратный вызов в функции activUser не вызывается.Убедитесь, что вы всегда вызываете данную функцию обратного вызова, т. Е. В случае успеха и ошибки.

Один совет: используйте обещания / async await , поскольку это поможет вам сохранить ваш кодочистить и предотвратить ошибки, подобные этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...