这是我的 users.js 中带有 json 的全局数组:
global.users = [
{
'id':1,
'name' : 'Dain',
'age' : 24,
'hobby' : 'gaming'
}
];
router.get函数:
router.get('/:userid', function(req, res){
for(let i = 0 ; i < global.users.length ; i++){
if(global.users[i].id === parseInt(req.params.userid, 10)){
return res.json({
user: global.users[i],
message : 'Success',
error: false
});
}
}
return res.status(404).json({
message : 'User Not Found',
error: true
});
});
但是,以下用于获取两个参数的函数无法按预期工作:
router.get("'/:userid'+'+:age'", function(req, res){
for(let i = 0 ; i < global.users.length ; i++){
if( (global.users[i].id === parseInt(req.params.userid, 10)) && (global.users[i].age === parseInt(req.params.age, 10))){
return res.json({
user: global.users[i],
message : 'Success',
error: false
});
}
}
return res.status(404).json({
message : 'User Not Found',
error: true
});
});
即使我在 url 中按如下方式传递年龄,它仍然会返回用户信息。
http://localhost:8080/users/1+226
由于 226 不是任何定义的年龄,它必须返回:
{
message : 'User Not Found',
error: true
}
即使我输入任何年龄,它仍然会返回值。请指导。
http://localhost:8080/users/1+24