Node.js参数不能正常工作
Node.js parameters do not work properly
这是我的全局数组与json在我的用户。js:
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
});
});
然而,下面这个获取两个参数的函数并没有像预期的那样工作:
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中按如下方式传递age,它仍然返回用户信息。
http://localhost:8080/users/1+226
由于226不是定义的年龄,它必须返回:
{
message : 'User Not Found',
error: true
}
即使我输入任何年龄,它仍然返回值。请指导。
http://localhost:8080/users/1+24
而不是创建一个循环来检查特定字段是否匹配。使用下划线可以更好地查找数组http://underscorejs.org/#findWhere
中的数据注意:(先安装模块下划线)
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
});
}
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)