簡體   English   中英

Angular2可觀察和訪問后響應

[英]Angular2 observable & post - access response

我對Observables有點陌生,我已經成功發送了POST api請求並收到了正確的JSON響應:

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

但是我不確定如何訪問此響應並對其進行處理。 這是我的郵政服務:

  // 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());
  }

這是我的觀察值:

  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
  }

任何幫助表示贊賞

您必須從可觀察到的地圖返回響應,然后才能進入subscribe列表。 像這樣

 // 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....")
      });
  }

您的響應屬於對象類型。 以變​​量的對象類型分配響應。

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

  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM