我试图将地图对象从我的前端角度发送到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上的控制台中打印。
答案 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);
});