2016-10-02 19 views
1

バックエンドの残りのAPIにhttp投稿リクエストを送信しようとしています。 httpサービスのコードは次のとおりです。HTTP POST要求が機能しない

@Injectable() 
export class requestService{ 

    constructor(private _http:Http){} 

    postRequest(request:any){ 
     console.log("Here is post") 
     const body=JSON.stringify(request); 
     let headers = new Headers({ 'Content-Type': 'application/json' }); 
     let options = new RequestOptions({ headers: headers }); 

     this._http.post('http://localhost:8080/requests',body,options).map(res=> console.log(res.headers)); 

    } 

} 

私はバックエンドが正常に動作していると確信しています。私は郵便配達員による投稿要求を正常に送信します。しかし、私が私のサービスを使ってリクエストを送ると、何も起こりません。エラーはありません。また、オブジェクトはバックエンドにも記録されません。

それで問題は何ですか?

+0

これを試してみてください---- 'this._http.post ( 'http:// localhost:8080/requests'、body、options).map(res => console.log(res.data)); ' – micronyks

+0

私は角張っていませんが、 ouもエラーをキャッチしていますか?あなたはどこかでエラーコールバックを持っていますか? –

+0

@micronyks動作しません。 –

答えて

3

Observablesは怠惰です。購読しないと、彼らは何もしません。

どちらの代わりにmap()

@Injectable() 
export class requestService{ 

    constructor(private _http:Http){} 

    postRequest(request:any){ 
     console.log("Here is post") 
     const body=JSON.stringify(request); 
     let headers = new Headers({ 'Content-Type': 'application/json' }); 
     let options = new RequestOptions({ headers: headers }); 

     this._http.post('http://localhost:8080/requests',body,options).subscribe(res=> console.log(res.headers)); 

    } 
} 

または観察可能なを返し、呼び出し元のサイトで購読のsubscribe()を使用します。

@Injectable() 
export class requestService{ 

    constructor(private _http:Http){} 

    postRequest(request:any){ 
     console.log("Here is post") 
     const body=JSON.stringify(request); 
     let headers = new Headers({ 'Content-Type': 'application/json' }); 
     let options = new RequestOptions({ headers: headers }); 

     return this._http.post('http://localhost:8080/requests',body,options).map(res=> console.log(res.headers)); 

    } 
} 
this.requestService.postRequest.subscribe(val => console.log(val)); 
関連する問題