Не хочет меняться страница (но ошибок нет)
Доброго вечера уважаемые коллеги. Помогите пожалуйста с таким вопросом.
Фреймворк: 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(); }); }); } |
Подумал, может поможет вообще весь код (так видно весь контекст). На всякий случай, вот он:
/** * 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; |
Часовой пояс GMT +3, время: 15:34. |