表示路由器没有调用get空的obj返回请求

我正在调用从angular度4获得请求。 我已经使用expressjs路由器。 我得到的电话不来我的路由器function。 如果我使用一个虚拟身份证,它工作正常。 这是我的前端代码

getOnlineUser(){ console.log('nline --') return new Promise((resolve, reject) => { this.http.get(this.url+'/chat/getonlineusers') .map(res => res.json()) .subscribe(res => { resolve(res); }, (err) => { reject(err); }); }); } 

这里是我的expressjs路由器代码

 router.get('/getonlineusers', function(req, res, next) { console.log('here it is---+=============---------- ') // the above console not working OnlineUsers.find({}, function (err, Users) { console.log(Users) if (err) return next(err); res.json(Users); }); }); 

这个路由器工作正常,如果我使用这样的伪标识/getonlineusers/:id

服务器文件是

 app.use('/chat', chat); 

什么可能是错误

关于您不需要的客户端,要将您的请求包装在承诺中,更好的方法是使用toPromise()

 import 'rxjs/add/operator/toPromise'; getOnlineUser() { return this.http.get(`{this.url}/chat/getonlineusers`) .map(res => res.json()) .toPromise(); } // back seems ok router.get('/getonlineusers', function (req, res, next) { OnlineUsers.find({}, function (err, users) { if (err) return next(err); res.json(users); }); }); 

我从前端打电话给/ getonlineusers ,在/ getonlineusers之前有一个名为/:room的路由,而我的ajax电话打到/:room而不是/ getonlineusers

所以我把路线/ getonlineusers/:房间 ,这是工作