Javascript 将JSON数据发布到呈现页面
我从URL获取JSON格式的搜索结果:“/accounts/:id/users”,我需要检索JSON数据以呈现“/contacts/find”。(后一页显示搜索结果。) 这是我的应用程序路由器。有了它,我可以看到JSON格式的/contacts/find中的搜索结果:Javascript 将JSON数据发布到呈现页面,javascript,node.js,post,express,get,Javascript,Node.js,Post,Express,Get,我从URL获取JSON格式的搜索结果:“/accounts/:id/users”,我需要检索JSON数据以呈现“/contacts/find”。(后一页显示搜索结果。) 这是我的应用程序路由器。有了它,我可以看到JSON格式的/contacts/find中的搜索结果: app.post('/contacts/find', function(req, res) { var searchStr = req.param('searchStr', null); if ( null == sear
app.post('/contacts/find', function(req, res) {
var searchStr = req.param('searchStr', null);
if ( null == searchStr ) {
res.send(400);
return;
}
models.Account.findByString(searchStr, function onSearchDone(err,accounts) {
if (err || accounts.length == 0) {
res.send(404);
} else {
res.send(accounts);
}
});
});
如何使用“accounts”(JSON格式)并使用account信息重新呈现页面?我正在尝试下面的代码片段,但它不起作用
app.get('/contacts/find', function(req, res) {
res.render('searchResult.ejs', {
accounts: req.accounts,
email: req.accounts.email
})
}
app.get方法不工作。URL只显示JSON数据。那么
帐户
是JSON字符串吗?在这种情况下,您可以对其进行解析(将其转换回对象)并将结果传递给模板:
var accounts = JSON.parse(req.accounts);
res.render('searchResult.ejs', {
accounts : accounts,
email : accounts.email
})
如果我在“app.post”方法中呈现页面而不使用“app.get”方法,可以吗?@eknbrk当然可以,我不明白为什么不能。只需将帖子中的
res.send
替换为res.render
再次感谢@robertklep。。它工作,但它的页面呈现为“未定义”。。你知道吗?@eknbrk听起来像是帐户。电子邮件可能未定义?