2016-12-18 21 views
0

私はangular2を使い始めました。私はangle2 quickstartプロジェクトに基づいて自分のアプリケーションを開発しようとしました。angular2で.getと404エラーが発生しました

実際のAPIを使用してデータを取得しようとすると、APIのURLに関係なく常に404エラーが発生します。

import { Injectable } from '@angular/core'; 
import { Headers, Http, Response } from '@angular/http'; 

import { League } from './league'; 
import { Observable }  from 'rxjs/Observable'; 

@Injectable() 
export class LeagueService { 

private headers = new Headers({'X-Mashape-Key': 'MY_API_KEY'}); 
private leaguesUrl = 'https://sportsop-soccer-sports-open-data-v1.p.mashape.com/v1/leagues'; 

constructor(private http: Http) {} 

getLeagues(): Observable<League[]> { 
    return this.http.get(this.leaguesUrl,{headers: this.headers}) 
       .map(this.extractData) 
       .catch(this.handleError); 
} 

private extractData(res: Response) { 
    let body = res.json(); 
    return body.data || { }; 
} 

    private handleError (error: Response | any) { 
    // In a real world app, we might use a remote logging infrastructure 
    let errMsg: string; 
    if (error instanceof Response) { 
     const body = error.json() || ''; 
     const err = body.error || JSON.stringify(body); 
     errMsg = `${error.status} - ${error.statusText || ''} ${err}`; 
    } else { 
     errMsg = error.message ? error.message : error.toString(); 
    } 
    console.error(errMsg); 
    return Observable.throw(errMsg); 
    } 
} 

handleErrorのメソッドは、この私を送り返す:

は、ここに私のサービスコードである「コレクション 『リーグ』が見つかりませんが見つかりませんでした」。私は約束していると観測可能な両方で試した。このAPIが利用可能であり、返送していないこと

私は事実を知っている404

あなたはここで何が起こっているかを教えていただけますか? :-)

ありがとう!

+0

ブラウザコンソールは何を報告しますか?正確なエラーメッセージを追加できますか? –

+0

404 - 見つからないコレクション 'リーグ'が見つかりませんleague.service.ts:36 – banibanc

+0

郵便配達員経由で同じリクエストを送信してください。 – yurzui

答えて

1

コンストラクタのヘッダーにコンテンツタイプを追加してみてください。

headers.append('Content-Type', 'application/json'); 
関連する問題