node.js路由中的URLdevise

我目前正在试图找出如何重新devisenode.js传入的url请求,并从那里读取参数。我使用restify。

在我的router.js中:

server.get('/myDomainName/myService/:location/:userId',myFunction); 

我从这里获取“location”和“userId”作为参数并进一步处理。

这是完美的工作。 但是我需要重新deviseURL,

 /myDomainName/myService?location={someLocation}&userId={someID}. 

所以,我devise了这样的URL:

 /myDomainName/myService?location=:x&userId=:y 

但是当我试图读取x和y( console.log(request.params.x) )的值时,它们是未定义的 。 我需要使用x和y值进一步处理。

我在这里做错了URLdevise? 我怎样才能实现呢?

提前致谢。

哟可以设置像这样的url: /myDomainName/myService并从req.query.locationreq.query.userId获取params

这可能会帮助你: http : //expressjs.com/api.html#req.query

查询string不包含在pathpath中,它在req.query可用。 devisepathpath时只需忽略查询string。