所以,我试图在不同的场景下为同一个URL获取不同的数据。这是我的代码。
第一种情况:
app.get('/upload', function(req, res) {
res.render('upload', {data: 'a'});
});
第二种情况:
res.redirect('/upload');
app.get('/upload', function(req, res) {
res.render('upload', {data: 'b'});
});
但是,出于某种原因,它总是执行第一种情况(仅传递数据:' a')。如何针对特定情况确定每个get方法的优先级?
答案 0 :(得分:1)
首先,你不能为两个不同的工作使用相同的字符串名称。
你可以用params或查询来做到这一点。我为你创建了一个带params的例子。您可以更改场景的开关案例。
<强> PARAMS 强>
app.get('/upload/:scenario', function(req, res) {
let resultData = {};
switch (req.params.scenario) {
case '1':
resultData = {
data: 'a'
};
break;
case '2':
resultData = {
data: 'b'
};
break;
default:
resultData = {
error: 'wrong id'
};
}
res.render('upload', resultData);
// http://localhost/api/upload/1 -> {"data":"a"}
// http://localhost/api/upload/2 -> {"data":"b"}
});