Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.08.2015, 21:44
Аспирант
Отправить личное сообщение для Velidan Посмотреть профиль Найти все сообщения от Velidan
 
Регистрация: 13.02.2015
Сообщений: 32

Не хочет меняться страница (но ошибок нет)
Доброго вечера уважаемые коллеги. Помогите пожалуйста с таким вопросом.

Фреймворк: Koa js

Есть код, в котором я извлекаю данные с бд и хочу рендерить новый шаблон при успешном результате.

Во общем как бы работает все, статус возвращается, рендер происходит (думаю так потому что ошибок нет и когда пробова сменить название файла на this.render('terminal/nonExists') - выбило ошибку)

но страница не меняется. Не знаю что делать.
Помогите пожалуйста. Вот полный код:


function* recievePostData(next) {
    var requ = this;
        var dataObj = {},
            userAuthStatus;
    if (this.request.url === '/terminal' && this.request.method === 'POST') {
/*        stringifyRequest =  JSON.stringify(this.request.body, null, 2);*/

        dataObj.login =  this.request.body.fields.login.trim();
        dataObj.pass = this.request.body.fields.password.trim();


    }
    userAuthStatus = yield userAuth(dataObj);

    switch (userAuthStatus) {
        case 0 :
            console.log('Пользователь не найден');
            break;
        case 1 :
            console.log('Должны рендерить')
            yield this.render('terminal/terminal');
            break;
        case 2 :
            console.log('Неверный пароль');
            break;
    }
}


function userAuth(dataObj) {

    return new Promise((resolve, reject) => {

            users.find({'login' : dataObj.login}, function (err, user) {
                if (err) throw err;

                function* anonymousGenerator() {
                    var authStatus;

                    if (user.length > 0) {
                        if (dataObj.pass === user[0].password) {
                            authStatus = 1
                        } else {
                            authStatus = 2;
                        }
                    } else {
                        authStatus = 0;
                    }
                    resolve(authStatus);
                }
                anonymousGenerator().next();
            });
    });

}
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2015, 21:58
Аспирант
Отправить личное сообщение для Velidan Посмотреть профиль Найти все сообщения от Velidan
 
Регистрация: 13.02.2015
Сообщений: 32

Подумал, может поможет вообще весь код (так видно весь контекст). На всякий случай, вот он:

/**
 * Created by Cronix-23-ZTan on 07.08.2015.
 */

var db = require('monk')('localhost:27017/Wellnine'); //подключились к бд
var users = db.get('users'); // выбрали коллекци


/*//нашли документ
users.find({'login' : 'Velidan'}, function (err, user) {
    if (err) throw err;
    console.log(user);
});*/


/* Получили данные с поста и отправили дальше */


function* recievePostData(next) {
    var requ = this;
        var dataObj = {},
            userAuthStatus;
    if (this.request.url === '/terminal' && this.request.method === 'POST') {
/*        stringifyRequest =  JSON.stringify(this.request.body, null, 2);*/

        dataObj.login =  this.request.body.fields.login.trim();
        dataObj.pass = this.request.body.fields.password.trim();


    }
    userAuthStatus = yield userAuth(dataObj);

    switch (userAuthStatus) {
        case 0 :
            console.log('Пользователь не найден');
            break;
        case 1 :
            console.log('Должны рендерить');
            yield this.render('terminal/terminal');
            break;
        case 2 :
            console.log('Неверный пароль');
            break;
    }
}


function userAuth(dataObj) {

    return new Promise((resolve, reject) => {

            users.find({'login' : dataObj.login}, function (err, user) {
                if (err) throw err;

                function* anonymousGenerator() {
                    var authStatus;

                    if (user.length > 0) {
                        if (dataObj.pass === user[0].password) {
                            authStatus = 1
                        } else {
                            authStatus = 2;
                        }
                    } else {
                        authStatus = 0;
                    }
                    resolve(authStatus);
                }
                anonymousGenerator().next();
            });
    });

}



function* terminalIndex(next) {
    'use strict';
    yield this.render('terminal/login');
}

var routes = [
    {method: 'get', name : 'index', url : '/terminal', middleware : terminalIndex},
    {method: 'post', name : 'authData', url : '/terminal', middleware : recievePostData}
];

exports.routes = routes;
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имя файла не соответствует имени класса - итог приложение не запускается, ошибок нет khusamov ExtJS 15 29.05.2015 15:58
Работа с radiobutton djsadd Элементы интерфейса 2 06.04.2011 08:37
Сломал всю голову.. Посмотрите спецы.. Не хочет работать страница в mozilla-firefox.. ProniK Ваши сайты и скрипты 1 02.06.2010 19:33