Node JS不显示我的数据到模板
Node JS not displaying my data to the template
我正在从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;
yelp.search
是异步的。您必须在回调中调用res.render
,如:
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
});
});
,否则会在yelp.search
返回之前调用
是异步回调。当yelp.search
执行时,回调仍未执行,则name
未定义。所以你的渲染{name: 'undefined'}。除了@Rodrigo Medeiros的方法,你也可以使用一些模块来解决。例如:q
、asnyc
、bluebird
等
相关文章:
- 如何将JSON数据导入我的ejs模板
- 无法将数据从firebase获取到我的html页面
- 用我的json数据填充JQuery DataTable
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- ajax请求成功,但可以'我看不到我的数据
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 更新数据,而不是用javascript和jquery将其添加到我的表中
- 无法在我的JSON文件中发布数据
- 我尝试使用我的本地js文件来获取远程IP数据,但它不起作用
- 我的地图数据's不会使用php存储在mysql数据库中
- 如何使用XMLHttpRequest()不断地将数据发送到我的网站中的另一个页面
- 我没有'我不知道为什么我的jqGrid子网格没有'不要给我看数据
- 将用户选择的数据临时存储在我的阵列中
- 用我的函数jquery给出数据/参数
- JQuery$.ajax()发布数据以调用我的控制器中的方法
- 我的复选框没有't使用的循环来显示数据
- 在我的案例中,如何获取异步数据
- 如何在 D3 中更新我的多折线图数据
- “玩转这些数据!”我的plot.js图没有显示
- jQuery不是从JSON中提取数据并添加数据-我的代码有什么问题?