2016-03-07 4 views
5

私のプロジェクトを生成するのにyeoman angular-fullstackを使用しています。 したがって、クライアントはangularJs(typeScript)で、バックエンドはnodeJsです。 問題は変数を持っていて、コンソールに印刷すると非常に長い文字列が得られます(googleplacesapiからphoto_referenceを知る必要がある場合)。 そして、それをhttp.getとnodeJS APIに渡してログに出力すると、レスポンスオブジェクトが返されます。クライアントからnodeJSに渡されたときに文字列に変換される

メインコントローラ

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); 
+1

@mmmは、好奇心のうちtypescriptです – eltonkamami

+0

(ないソリューション)のように思える機能にphoto.photo_referenceを渡しますあなたが文字列に明示的にキャストするなら、それは機能しますか? – ale10ander

+0

'getImages'に渡された引数が' photo_reference'プロパティを持っているので、 'console.log(req.params.photoreference);' – eltonkamami

答えて

3

getImages関数に間違った値を渡しています。 getImagesに渡される引数は、ロギングが

正しいですので、それはオブジェクトであるphoto_reference性を有しているので、

for (var photo of response.data.result.photos) { 
    this.getImages(photo.photo_reference); 
} 
+0

ありがとう、今これは愚かなmisstakeだった。遅い時間を非難している。 :P –

+0

@ JediSchmedi目の第二のペアは常に助けてください:) – eltonkamami

3

console.logは、あなたがそれに渡す任意のオブジェクトで.toString()を呼び出します。 toString()の既定の実装は、平文Objectsに対して、"[Object object]"を返します。これはばかげていてもうまくいきます。

あなたがオブジェクトの完全な構造を確認したい場合は、stringifyそれは:

console.log(JSON.stringify(req.params.photoreference)); 

あなたはインデントに2つのスペースを使用して、人間が読めるバージョンをレンダリングするJSON.stringifyを依頼することができます。

console.log(JSON.stringify(req.params.photoreference, null, 2)) 
関連する問題