【发布时间】:2015-10-02 11:11:28
【问题描述】:
我正在从 Yelp API 查询一些数据。业务的 Console.log 在终端中运行良好,但是当我调用相同的变量在模板中呈现时,什么都没有显示。
/* GET home page. */
router.get('/', function(req, res) {
res.render('index', { title: 'Express' });
});
/*GET Hello World page. */
router.get('/helloworld', function(req, res){
var first;
yelp.search({location: "tempe", term: "sandwiches", category_filter: "food"}, function(error, data) {
var test = JSON.stringify(data); //Changes yelps response to JSON Objects with double quotes
test = JSON.parse(test); //JSON.parse can now parse correctly after stringify is used.
// for(var i = 0; i < 9; i++){
// console.log(test['businesses'][i]['name']);
// // console.log(test['businesses'][i]);
// }
console.log(test['businesses'][0]['name']);
first = test['businesses'][0]['name'];
});
res.render('helloworld', {
title: 'Hello, World',
name: first
});
});
module.exports = router;
【问题讨论】:
-
在将值赋给 first 之后,尝试在回调函数中添加对渲染的调用。现在的写法是 res.render 在第一次被赋值之前执行,这可能是什么都不显示的原因。
标签: javascript jquery node.js pug