Javascript Node.js参数无法正常工作
这是我在my users.js中使用json的全局数组:Javascript Node.js参数无法正常工作,javascript,node.js,express,params,express-4,Javascript,Node.js,Express,Params,Express 4,这是我在my users.js中使用json的全局数组: global.users = [ { 'id':1, 'name' : 'Dain', 'age' : 24, 'hobby' : 'gaming' } ]; 路由器获取功能: router.get('/:userid', function(req, res){ for(let i = 0 ; i < global.users.length ; i+
global.users = [
{
'id':1,
'name' : 'Dain',
'age' : 24,
'hobby' : 'gaming'
}
];
路由器获取功能:
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
});
});
由于226不是定义的任何年龄,它必须返回:
{
message : 'User Not Found',
error: true
}
即使我输入任何年龄,它仍然返回值。请导游
http://localhost:8080/users/1+24
而不是创建检查特定字段是否匹配的循环。使用下划线可以更好地在数组中查找数据 注意:(先安装模块下划线)
router.get(“'/:userid'+'+:age')我想这应该是router.get('/:userid/:age/'你是对的andreas,但我想在URL中显示你的路由不正确你确定你的循环工作正常吗?如果条件总是为真的,你呢?@abdulbarik,…是的,先生
{
message : 'User Not Found',
error: true
}
http://localhost:8080/users/1+24
var _ = require('underscore');
var user = _.findWhere(global.users, {
id: req.params.userid,
age: req.params.age
});
if (user !== null) {
return res.json({
user: user,
message : 'Success',
error: false
});
} else {
return res.status(404).json({
message : 'User Not Found',
error: true
});
}