繁体   English   中英

角度2:具有ID的HTTP GET请求

[英]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());

如该网址的语法中所述

`api/leagues/${id}`

使用反勾`` `应该解决这个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM