从客户端传递到nodeJS时,字符串转向对象
我使用yeoman angular-fullstack生成我的项目。 所以客户端是angularJs(typeScript),后端是nodeJs。 问题是我有一个变量,当我打印到控制台时,我得到一个很长的字符串,(如果你需要知道它从googleplacesapi的photo_reference)。 当我将它传递给带有http.get的nodeJS api,并将其打印到日志中时,我得到响应Object对象。从客户端传递到nodeJS时,字符串转向对象
MainController
for (var photo of response.data.result.photos) {
this.getImages(photo);
console.log(photo.photo_reference);
}
getImages(photo_reference: string): void{
this.$http.get('/api/image/' + photo_reference).then((response) => {
});
}
的NodeJS
export function show(req, res) {
console.log("photoreference:" + req.params.photoreference);
您将错误的值传递给getImages
函数。 由于传递给getImages
参数具有photo_reference属性它是一个对象,以便记录是正确
传递photo.photo_reference
给函数
for (var photo of response.data.result.photos) {
this.getImages(photo.photo_reference);
}
谢谢,现在这是一个愚蠢的misstake。我在谴责这个晚上的时间。 :P –
@JediSchmedi第二双眼睛总是帮助:) – eltonkamami
console.log
将调用在传递给它的任何对象.toString()
。对于普通Objects
,toString()
的默认实现是返回"[Object object]"
,这是愚蠢的,但也很通用。
如果你想看到完整结构的对象,stringify
它:
console.log(JSON.stringify(req.params.photoreference));
你可以问JSON.stringify
来呈现人类可读的版本,使用2个空格进行缩进:
console.log(JSON.stringify(req.params.photoreference, null, 2))
@mmm好像打字稿 – eltonkamami
出于好奇(不是溶液) ,如果你显式转换为字符串,它是否工作? – ale10ander
记录参数,而不将它连接到一个字符串以查看传入的值'console.log(req.params.photoreference);' – eltonkamami