我有一个获取数据(标题和条目)的register.pug的获取路径。
// GET /register.pug
router.get('/register', function(req, res, next) {
res.render('register', {
title: 'Register',
countries: [] //countries
});
});
我还有一条从我的数据库中检索contries的路线,我可以用它来获取上面的渲染的“国家/地区”数据吗?
// 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);
});
答案 0 :(得分:0)
据我所知,你不能直接使用这些值,因为它在另一个函数中。
您可以创建一个中间件函数,该函数从数据库中获取国家/地区,并使用下一个函数随后使用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