2016-07-12 11 views
0

私は、単純なコンポーネント(下記参照)を持つAngular 2アプリを持っています。 Web Apiエンドポイントへの簡単なGET呼び出しを行います。 私はpostmanを使用してエンドポイントを呼び出すことができますが、このコンポーネントが失敗しようとしたときに終了ポイントを呼び出すことができます。呼び出しは行われず、エラーは出力されません。 どうしたのですか?私は以前このパターンに従ってきました。角2 - コンポーネントからの単純なHTTP GETが機能しない

import { Component, Input } from '@angular/core'; 
import { ROUTER_DIRECTIVES, Router } from '@angular/router'; 
import { Http,Response, Headers, RequestOptions } from '@angular/http'; 
import { DomSanitizationService } from '@angular/platform-browser'; 
import { Observable } from 'rxjs/Observable'; 
import { ITile } from '../interfaces/tile'; 

@Component({ 
    selector: 'tile', 
    template: require('../tile/tile.component.html'), 
    styles: [require('../tile/tile.component.css').toString()], 

    directives: [ROUTER_DIRECTIVES] 
}) 

export class TileComponent { 
    @Input() tile: ITile; 

    constructor(private _http: Http) { } 

    onSelect(id: string) { 
     this.getProfileImage(id); 
    } 

    getProfileImage(id: string): Observable<string> { 

    let url = 'http://localhost:2116/api/profileimage/5/'; 
    let headers = new Headers({ 'Accept': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 

    return this._http.get(url, options) 
      .map((response: Response) => <string>response.json()) 
      .catch(this.handleError); 

    } 

     private handleError(error: Response) { 
     console.log(error); 
     return Observable.throw(error.json().error || 'Server error'); 
    } 

} 

エンドポイントは次のようになります...

[AllowAnonymous] 
[Route("api/profileimage/{userId}")] 
public HttpResponseMessage Get(string userId) 
{ 
    return Request.CreateResponse(HttpStatusCode.OK, "success"); 
} 
+0

あなたの角バージョンは何ですか? –

+0

"@ angular/core": "2.0.0-rc.3" –

+0

どのように失敗しますか?どのメッセージが表示されていますか? –

答えて

5

あなたは、コールを発射するgetメソッド(コールド観測可能)に加入する必要があります。

関連する問題