2017-09-08 14 views
0

私はgetFeedbackエンドポイントにHttpClientポストを使用して応答を取得し、それを私のアプリケーションに表示することを計画しています。 私は1 codeServiceと一つのダッシュボードコンポーネントを持っている、これが私のコードのサービスでポストのためのコードです:私のダッシュボードコンポーネントで角のHttpClientが応答本文メッセージを取得できません

 //method 1 
async generateFeedbackPost() { 
     var headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'); 
     var body = new URLSearchParams(); 
     body.set('code', this.code); 
     return this.http.post(this.url, body.toString(), { headers }).toPromise(); 
    } 
    //method 2 
generateFeedbackPost2() { 
    var headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'); 
    var body = new URLSearchParams(); 
    body.set('code', this.code); 
    return this.http.post(url, body.toString(), {headers}); 
} 

私はこれらのメソッドを呼び出します。

this.codeService.generateFeedbackPost2().subscribe(data => {console.log(data);}); 
this.codeService.generateFeedbackPost().then(data => {console.log(data);}); 

私はこれらの二つの方法を試してみましたただし、両方ともコンソールでnullを出力します。

enter image description here

は、あなたが戻って、これらのメッセージを取得する方法を知っていますか:しかし、私のクロム開発ツールのネットワークタブでは、私は正確な結果を見ることができますか?

+0

'はconsole.log(JSON.stringify(データ))'の結果は何ですか? – mok

+0

は両方ともnullを返します –

+0

これはエラーです。使用しているウェブサイトのドメイン名とapiが同じであるかどうかを確認してください。 – TheChetan

答えて

1

エラーが発生しているため、リクエストが成功した場合に表示されるdataが表示されません。この場合の結果、エラーを見るために

、あなたがこれを使用することができます:

this.codeService.generateFeedbackPost2().subscribe(
    data => {console.log(data);}, 
    error => console.log(error)); 
+0

私はそれを把握して、私は間違いを作った:私のWebサービスの部分では、私はjsonに結果を変更するのを忘れていた、あなたのJSON.stringfyはそれを思い出させます。私はその部分を修正した後、2つの方法の両方が動作します!私はこのエラー部分を追加しようとしましたが、jsonが文字列を解析できないと言った有用なメッセージも表示されます。ご協力ありがとうございました! –

+0

@JudahFlynn私はそれが助けてくれてうれしいです。 – mok

関連する問題