Как решить Не можете установить заголовки после их отправки в экспресс-фреймворке NodeJS? - PullRequest
0 голосов
/ 23 сентября 2018

Создание первого express приложения, потерпите меня ...

Приложение имеет user login, authenticating с API.

Введите некоторую информацию иpost вызов API, затем отправка текстового сообщения на основе введенных данных и возвращенных данных API.

После первого login ошибки не возникли, приложение успешно выполнено, текст отправлен, пользователь перенаправлен обратно на страницу входаscreen.

После второго login были получены следующие ошибки в функции login/auth.

  1. Error: Can't set headers after they are sent.
  2. TypeError: req.next is not a function

Не вижу дубликатов обратных вызовов, но, возможно, что-то отсутствует, и в моем коде не определено next.

введите описание изображения здесь

Вот код, в котором кажется, что он не работает ...

//login page -  post
app.post('/', urlencodedParser, function(req,res) {
    //console.log(req.body);    
    username = req.body.username
    password = req.body.password


    //Login function / Routing to rbhGetMRN
    var authEHR = function(){
        console.log('AuthEHR:');
        var json = buildJSON('GetUserAuthentication', Appname, username, '', token, password);

        unityAction(json, function(body) {
            console.log('Output from GetUserAuthentication: ');
            //console.log(body);
            usrData = JSON.parse(body)
            var valid_user = usrData[0]['getuserauthenticationinfo'][0]['ValidUser'];

            if (valid_user == 'YES') {
                res.render('rbhGetMRN');
                res.end();
                console.log('Login Success');

            }

            else {
                //console.log('EHR user is invalid: ' + usrData[0]['getuserauthenticationinfo'][0]['ErrorMessage']);
                console.log('Login Failure');
                res.render('rbhLogin');
                res.end();
                emitter.emit('CleanUp');
            }

        });


    };
});

Спасибо за ваш отзыв.

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