获取在节点/快递中传递不同数据的相同 URL 的方法



因此,我正在尝试为同一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 方法的优先级?

首先,您不能对两个不同的作业使用相同的字符串名称。

您可以使用参数或查询来执行此操作。我为您创建了一个带有参数的示例。您可以更改方案的开关大小写。

参数

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"}
});

最新更新