node js express routes /users?limit=20&offset=0
node js express routes /users?limit=20&offset=0
我现在正在学校学习node js,但是我阻塞了一条我需要做的路线。
我有一个数据库与一些用户,与localhost/users我可以得到所有的用户,并打印在页面上。
但是我阻塞了一条路由:localhost/users?limit=20&offset=0,这条路由就像以前一样,但限制是页面上的20个用户,但是当我在导航器上写这个url时,他只是停留在/users路由上而不考虑我的参数(限制和偏移):/。
下面是我的代码:app.get('/users', (req, res, next) => {
console.log('/users')
db.all('SELECT * FROM users').then((users) => {
res.send(users)
next()
})
})
app.get('/users/:userId', (req, res, next) => {
console.log('aleluya')
console.log('-> GET /users/:userId (userId : ' + req.params.userId +')')
var id = req.params.userId;
db.all('SELECT * from users WHERE rowid = '+ id +'' ).then((users) => {
res.send(users)
next()
})
})
app.get('/users?limit=20&offset=0', (req, res, next) => { // prendre l'url
console.log('/users?limit=20&offset=0') // afficher dans la console
limit = req.params.limit
offset = req.params.offset // mettre 0 dans offset
console.log(limit, offset)
db.all('SELECT * FROM users LIMIT '+ limit +' OFFSET '+ offset +'').then((users) => {
res.send(users)
next()
})
})
这是因为你的路径仍然是/users
要访问查询参数,必须使用:
// console.log(req.query['key'])
//
// req.query.limit
// req.query.offset
所以,你可以这样修改你的代码:
app.get('/users', (req, res, next) => {
console.log('/users')
if( req.query.limit ){
return doQueryUsers(req, res, next);
}
db.all('SELECT * FROM users').then((users) => {
res.send(users)
next()
})
})
app.get('/users/:userId', (req, res, next) => {
console.log('aleluya')
console.log('-> GET /users/:userId (userId : ' + req.params.userId +')')
var id = req.params.userId;
db.all('SELECT * from users WHERE rowid = '+ id +'' ).then((users) => {
res.send(users)
next()
})
})
var doQueryUsers = function(req, res, next) { // prendre l'url
console.log('/users?limit=20&offset=0') // afficher dans la console
limit = req.query.limit
offset = req.query.offset // mettre 0 dans offset
console.log(limit, offset)
db.all('SELECT * FROM users LIMIT '+ limit +' OFFSET '+ offset +'').then((users) => {
res.send(users)
next()
})
}
相关文章:
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- Angular js-返回一个包含类似
- 一点javascript元编程&可链接的设置器
- 通过JSON&比较时间
- Jquery模板,如果xx&&如果yy
- jQuery工具验证器自定义效果-添加&消除影响
- Twitter引导程序Typeahead-Id&标签
- AngularJS&JSON-从Previous&下一个对象
- 什么是&&在没有if的行中的变量之间
- 关于引入外部javascript文件的问题&css通过https
- 指令的模板必须只有一个根元素:With restrict E&替换true
- 使用ajax的服务器端分页&jQuery
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- 如何使用dropzone&vueJs
- 如何准确执行加载脚本&退出弹出窗口
- 如何添加CSS&JavaScript进入Windows窗体应用程序C#.net
- Solr查询以按日期月份获取数据&年
- 显示&作为&在jsp中使用angularjs而不使用ng-bind-html
- 如何惯用地手动销毁scope&在AngularJS中重新创建