[英]Angular 2: HTTP GET Request with ID
我有一个针对特定对象的http get请求。 因此,我在请求中传递了ID。 在服务器端,该值现在是$ {id},而不是实际传递的数字。 我究竟做错了什么? 在另一个应用程序中,它正在工作。
服务
getLeague(id){
return this.http.get('api/leagues/${id}').map(res => res.json());
};
服务器端
router.route('/:league_id')
.get(function(req,res){
League.findOne({id: req.params.league_id})
.exec(function(err,docs){
if(err)
res.send(err);
res.json(docs);
})});
在我的测试代码中,我只是简单地调用了它,例如getLeague(5),但是,我收到了错误消息(好像ID ist并不保存实际值,而只是保存变量名):
message: "Cast to number failed for value "${id}" at path "id" for model "League"", name: "CastError", stringValue: ""${id}"
谢谢!
您没有使用字符串插值( Template Literals )。 而不是单引号,您需要在URL周围加上回勾号。
您尚未将{{id}}传递到链接。 您的后端请求包括“ / $ {id}”部分。 要在Typescript中解析字符串中的变量,您应该在字符串上打勾,以利用插值,即
return this.http.get(`api/leagues/${id}`).map(res => res.json());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.