Я делаю простой webapp с входом в facebook.В express.js, res.render() не работает
Если кнопка facebook Войти на моей странице щелкают,
FB.api(
'/me',
'GET',
{"fields":"id,name,birthday,gender"},
function(response) {
$.post('fb_login', response, "json");
}
);
называется, и маршрутизатор обрабатывает '/ fb_login' запрос; в маршрутизаторе сервер проверяет, что идентификатор объекта json уже находится в его БД. Если нет, необходимо вызвать res.render ('signup', ...). Однако это не сработало. Я уже проверил, что res.render() был вызван, но страница 'signup.jade' не отображалась.
Вот мой исходный код маршрутизатора.
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '1012'
});
/* GET home page. */
router.post('/', function(req, res, next) {
var userid = req.body.id;
if (userid) {
pool.getConnection(function(err, connection) {
if (err) {
console.error('DB Connection error!!');
return;
}
console.log('DB Connection Success!!');
connection.query('use vasket');
connection.query('select count(*) result from user where userID=?',
[userid], function(err, result, field) {
var isAlreadyUser = result[0].result;
console.log(isAlreadyUser);
if (isAlreadyUser == 1) {
req.session.userid = userid;
res.redirect('/');
res.end();
console.log('DB FB Login Success!!');
connection.release();
}
else {
connection.release();
console.log('FIRST TIME!');
//This method was called, but the page rendered didn't
res.render('signup', {id: req.body.id, name: req.body.name, birthday: req.body.birthday, gender: req.body.gender});
}
});
});
} else {
res.redirect('/');
res.end();
}
Как это исправить?
у вас есть какие-либо ошибки? вы уверены, что req.body установлен с идентификатором, именем, ...? – Anonymous0day
Попробуйте это сначала: http://stackoverflow.com/questions/15403791/in-express-js-app-render-vs-res-render-whats-the-difference Существует хорошая разработка –
@ Anonymous0day Ошибка отсутствует , Я положил json объект в ответ на клиенте, и ключи (id, name, ...) верны. –