2017-02-23 5 views
0

Im ein bisschen neu zu Observable, ich habe eine korrekte JSON-Antwort erfolgreich eine POST-api Anfrage gesendet und empfangen:Angular2 beobachtbare & Post - Zugriffsantwort

{"id":138,"date":"2017-02-23T05:10:18"} 

aber im nicht sicher, wie diese Antwort zuzugreifen und etwas tun damit. Hier ist meine Post-Service:

// sends a media(file blob) object to WP API 
    updateMedia(file: File): Observable<File> { 
    let headers = new Headers({ 
     'Access-Control-Expose-Headers': 'Authorization, Content-Type, Content-Disposition', 
     'Content-Type': 'multipart/form-data', 
     'Content-Disposition': 'attachment; filename='+file.name, 
     'Authorization': 'Basic cmh5c0B0aGVpdHRlYW0uY29tLmF1OkRlc3Ryb3lfMSE=' 
    }); 
    let options = new RequestOptions({ headers: headers }); // Create a request option 

    return this.http.post(BASE_API, file, options) 
    .map((response: Response) => response.json()); 
    } 

Und hier ist mein beobachtbare:

onUpdateMedia(file: File) { 
    this.mediaService 
     .updateMedia(file) 
     .subscribe((
     file: File) => { 
     this.file = Object.assign({}, this.file, event); 
     }); 
    console.log(event); //hmm not what i want 
    } 

Jede Hilfe willkommen

Antwort

1

Sie haben die Antwort von der Karte beobachtbaren zurückzukehren und als Sie in der Lage, Holen Sie sich in den subscribe Listener. wie folgt

// sends a media(file blob) object to WP API 
    updateMedia(file: File): Observable<File> { 
     ............ 

    return this.http.post(BASE_API, file, options) 
    .map((response: Response) => return {res : response.json(), status : response.status}); 
    } 


    onUpdateMedia(file: any) { 
    this.mediaService 
     .updateMedia(file) 
     .subscribe((file: any) => { 
     console.log(file, "Response from Post Request Here....") 
     }); 
    } 
1

Ihre Antwort ist vom Objekttyp. Ordnen Sie die Antwort in einem Objekttyp der Variablen zu.

my_res:any; 
    onUpdateMedia(file: File) { 
    this.mediaService 
     .updateMedia(file) 
     .subscribe((
     data: any) => { 
     this.my_res=data 
     }); 

    } 
Verwandte Themen