如何将地图对象发送和读取到Node.js API

时间:2019-05-17 09:02:04

标签: node.js angular

我试图将地图对象从我的前端角度发送到nodejs后端API,但无法在后端解析和读取该对象。

以下是我的API-

router.get('/updateRecords/:list', (req, res, next) => {
    console.log('***' + req.params.list);
});

以下是我尝试将对象发送给它的方式-

updateItems(list) {
    return this.httpClient.get('http://localhost:3000/updateRecords/' + list)
    .pipe(
      catchError(err => this.handleError(err))
    );
  }

我无法在后端的updateRecords API中读取该对象。上方的console.log打印Object object

如果我尝试在forEach中的列表对象上使用updateRecords,它将开始出现内部服务器错误。地图对象具有键值对,可以在发送之前在UI上的控制台中打印。

1 个答案:

答案 0 :(得分:0)

您应该具有body parser,并且可以使用节点访问对象

req.body.list

不是    req.params.list

req.params.list用于获取请求参数而不是请求对象

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

您应该使用post将列表发送到服务器而不是获取

您的角度应用程序应更改为

return this.httpClient.post('http://localhost:3000/updateRecords', list)

编辑:Node js应该更改为

router.post('/updateRecords', (req, res, next) => {
    console.log(req.body.list);
});