我正在使用yeoman angular-fullstack来生成我的项目。 所以客户端是angularJs(typeScript),后端是nodeJs。 问题是我得到了一个变量,当我将它打印到控制台时,我得到一个非常长的字符串,(如果你需要知道它来自googleplacesapi的photo_reference)。 当我将它传递给带有http.get的nodeJS api,并将其打印到日志中时,我得到响应Object对象。
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);
答案 0 :(得分:3)
console.log
会在您传递给它的任何对象中调用.toString()
。对于普通toString()
,Objects
的默认实现是返回"[Object object]"
,这是愚蠢的,但也非常通用。
如果您想查看对象的完整结构,stringify
它:
console.log(JSON.stringify(req.params.photoreference));
您可以要求JSON.stringify
呈现人类可读的版本,使用2个空格进行缩进:
console.log(JSON.stringify(req.params.photoreference, null, 2))
答案 1 :(得分:3)
您将错误的值传递给getImages
函数。
由于传递给getImages
的参数具有photo_reference属性,因此它是一个对象,因此日志记录是正确的
将photo.photo_reference
传递给函数
for (var photo of response.data.result.photos) {
this.getImages(photo.photo_reference);
}