我有一个get路径来渲染带有数据(标题和内容)的register.pug。
// GET /register.pug
router.get('/register', function(req, res, next) {
res.render('register', {
title: 'Register',
countries: [] //countries
});
});我也有一个从我的数据库中检索内容的路线,我可以用它来获取‘国家’-数据,用于我上面的渲染吗?
// GET /contries
router.get("/", function(req, res){
//Result from Sequelize query
var contries = [{
name: Denmark,
ISO: DK
}, {
name: Sweden,
ISO: SE
}];
res.status(200).send(contries);
});发布于 2016-11-15 23:04:30
据我所知,你不能直接使用这些值,因为它在另一个函数中。
您可以创建一个中间件函数,该函数从数据库中获取国家,然后使用下一个函数通过countries对象调用您的路由:
app.use(function(req, res, next) {
// how I imagine the sequelize call
Country.findAll().then(function(countries) {
next(countries);
});
});
app.get('/register', function(countries, req, res, next) {
res.render('register', {
title: 'Register',
countries: countries
};
});
app.get('/', function(countries, req, res, next) {
res.status(200).send(contries);
});此外,如果您正在尝试以json格式发送国家/地区,则在'/‘路由中,您可能希望使用json函数而不是send。http://expressjs.com/en/api.html#res.json
https://stackoverflow.com/questions/40612495
复制相似问题