2017-03-23 15 views
1

私はEmpIDからデータを取得するWeb APIメソッドを持っています。このメソッドをAngular 2と呼び、フォームにデータをバインドして更新します。Angular 2 Web APIを使用してIDからデータを取得

サービスから正しくWeb APIメソッドを呼び出さないと思いますが、このWeb APIメソッドが見つからないというエラーが表示されます。

ウェブAPI方法:以下

[ Route("api/Employee/GetEdit/{id:int}") ]  
    public Employee GetEdit(int id) { 
     return db.Employees.Where(t => t.EmpID == id).FirstOrDefault(); 
    } 

私のサービスです。

以下
GetEdit(id:any) { 
    let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 
    return this.http.get('http://localhost:49221/Employee/GetEdit/' + id, headers) 
     .map((res: Response) => res.json()); 

    //return this.http.get('http://localhost:49221/api/Employee') 
    // .map(this.extractData) 
    // .catch(this.handleError); 
} 

私のコンポーネントクラスです:

getEdit() { 
    this._service.GetEdit(1).subscribe(    
     posts => this.employee = posts, 
     error => console.error(error) 
    )}; 
+0

クロスオリジンリクエストエラーが発生した場合は、ブラウザの[ネットワーク]タブを確認してください。 – Malwaregeek

+0

@Malwaregeek、はいクロスソースネットワークエラーが発生しました。 – Hitesh

答えて

1

あなたのコードがうまく見えますが、私はあなたを考えますapiをあなたのURLに入れることを忘れてしまったので、あなたが必要とする情報。

ベースURLの変数を作成し、その末尾にidを追加することで、コードがより洗練されたものになるようにすることもできます。

GetEdit(id:any) { 
    let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 
    return this.http.get('http://localhost:49221/api/Employee/GetEdit/' + id, headers) 
     .map((res: Response) => res.json()); 

    //return this.http.get('http://localhost:49221/api/Employee') 
    // .map(this.extractData) 
    // .catch(this.handleError); 
} 

これはキーワードをURLに追加APIを使用してHTTP呼び出しの修正バージョンです。

PS:私が言ったように、これは検討している

getEdit() { 
    this._service.GetEdit(1).subscribe(    
     posts => this.employee = <Employee>posts, 
     error => console.error(error) 
    )}; 

:あなたはまた、このような

何か(あなたは目的のために作成した特定のクラスを持っている場合)、正確なオブジェクトへの応答をキャスト考えることができますあなたがEmployeeクラスを作成したという事実。

+0

ありがとうございます。 – Hitesh

関連する問題