我有一个列表Teams
显示为我的页面上的链接列表,此刻,我有一个文本框....当点击该链接的那个Team
时, 012 的Key
被取出并发送到/team/:key
路由,它通过Key
搜索Team
,获取数据并将数据发送回去。如果数据成功发送回JS文件,那么Team
名称将被输出到文本框。Express/Node.js - 使用数据渲染页面
我想改变这种情况,当点击链接并使用Team.findByKey
检索到数据时我想渲染一个新页面('teamDetails'),并将该数据传递给该页面Team
。通过这种方式,我可以让Team
的每个链接都链接到Team's
个人页面,并提供其全部详细信息。
任何想法如何适应这个/team/:key
路线来做到这一点?
JS file
// Setup teamsLink to retrieve Team info for whichever Team was clicked
Team.initTeamsLink = function(){
$("a.teamLink").live("click", function(e){
e.preventDefault();
var teamId = ($(this)[0]).getAttribute('id');
$.get('/team/'+teamId, function(response){
if(response.retStatus === 'success'){
var teamData = response.teamData;
$('#teamId').val(teamData.key);
$('#teamName').val(teamData.name);
} else if(response.retStatus === 'failure'){
}
});
});
};
Route
app.get('/team/:key', function(req, res) {
util.log('Serving request for url [GET] ' + req.route.path);
Team.findByKey(req.params.key, function(err, teamData){
if(!err && teamData){
teamData = teamData;
res.json({
'retStatus' : 'success',
'teamData' : teamData
});
} else {
util.log('Error in fetching Team by key : ' + req.params.key);
res.json({
'retStatus' : 'failure',
'msg' : 'Error in fetching Team by key ' + req.params.key
});
}
});
});
而不是一个JSON响应的,你想有一个HTML的网站? – Amberlamps 2013-03-07 12:17:48
是的,当此时链接被点击时,JSON响应会发送到页面以将团队名称放入文本框中。相反,我想呈现一个HTML页面(teamDetails.jade是页面),我想在渲染时将团队的详细信息传递给此页面,以便在单击链接时为每个团队创建一个页面。 – germainelol 2013-03-07 12:21:31