【问题标题】:How do I pass parameters from angular into my nodejs API?如何将参数从 Angular 传递到我的 nodejs API?
【发布时间】:2022-02-15 22:38:28
【问题描述】:

我想通过以下调用将 Angular 中的 id 传递给我的“/rating”HTTP-Endpoint:

apiUpdateRating(id){
        return this.http.get('http://localhost:8080/rating', {
            params:id
        });
    }

但是如果 console.log 我的“req.params”在我的 NodeJs API 中,我发现它是空的:

app.get('/rating',function(req,res){
    res.send('RParam: '+req.params);
});

谁能告诉我我的错误在哪里?我想我没有在 URL 中正确传递 id,但不知道如何正确传递。

【问题讨论】:

标签: node.js angular


【解决方案1】:

试试这个:

  apiUpdateRating(id: number | string) {
    return this.http.get('http://localhost:8080/rating', {
      params: { id: id },
    });
  }

您需要同时指定参数的键和值。 params 是一个包含这些键值对的对象。

【讨论】:

  • 感谢您的回答。可悲的是这不起作用,我得到了一个 HttpErrorResponse
  • core.js:6479 ERROR HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: 'OK', url: 'localhost:8080/rating?id=1', ok: false, ...} error: {error: SyntaxError :在 JSON.parse () 在 XMLHtt 的位置 0 处的 JSON 中的意外标记 P,文本:'Param:[object Object]'} 标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:null,lazyInit: ƒ} 消息:“localhost:8080/rating?id=1 解析期间 Http 失败”名称:“HttpErrorResponse”ok:false 状态:200 statusText:“OK”url:“localhost:8080/rating?id=1
  • 这似乎是您的 node.js 函数的问题。您的回复格式可能不正确。见这里:stackoverflow.com/q/44160349/12914833
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多