我有一個列表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