質問: 'app works!'; // 追加 ここから constructor(private http: Http) { alert( JSON.stringify( this.http.get('http://localhost:3000/XXXX').map(response => response.json()) ) ); } //追加 ここまで } ``` ※http://localhost:3000/XXXX は、Jsonを返すサーバーです。ブラウザに直接打ち込むと、Jsonを返すことを確認しています。 以上の変更の後、http://localhost:4200/ にアクセスしhttp://localhost:3000/XXXX の内容をひとまずアラートで出そうとしました。 しかし、アラートで出たのはサーバーとまったく関係のない次のようなJSONでした。 ``` {"_isScalar":false,"source":{"_isScalar":false},"operator":{}} ``` サーバーのJsonを取得するには、どのようにすれば良いのでしょうか。 なにとぞご教授をお願いいたします。 ### 補足情報(言語/FW/ツール等のバージョンなど) Angular v2.3.1 angular-cli v1.0.0-beta.24
回答: おそらく、次のように書けばいいはずです ``` this.http.get('http://localhost:3000/XXXX') .map(response => response.json()) .subscribe(json=> { alert(JSON.stringify(json)); }) ``` `Http`クラスのメソッドの戻り値は`Observable`型です。 レスポンスのJSONは`Observable`の`subscribe`メソッドを通して受け取ります。