2016-12-29 2 views
0

戻るだけでjQueryを使って、私は単純にすべてのajaxErrorイベントをリッスンします:angular2:前にjQueryを使ったようにajaxErrorをどのように監視できますか?

$(document).on('ajaxError', someFunction); 

しかし、今Angular2で、私は方法や場所、このようなものを置くことを知らない(私が確認するためにそれを使用していましたユーザーはまだログインしていましたか?)

すべてのサービスに失敗する可能性がありますか?私は同じことをしていますか?どこにこのようなものを置くのですか? Angular2の新機能は、どんな方向にも感謝しています。

答えて

1

Angular2では、すべてのAjaxコールを行うためにHttpサービスを使用しています。

我々はそれを横取りする方法を見つけた場合、我々はすべての可能なエラーのログインすることができますので:

をだから、一つの方法は、HTTP基本クラスをラップすることです。明らかに、その後

@Injectable() 
export class HttpService { 

    constructor(private http: Http) {} 


    get(url) { 
    let headers = new Headers(); 
    return this.http.get(url, { 
     headers: headers 
    }).catch(this.handleError); 
    } 


private handleError (error : any) { 
     consoe.log('do something with the error '); 
    return Observable.throw(errMsg); 
    } 
} 

そして、代わりにHTTPの、あなたはHttpServiceを使用する必要があります

+0

優秀、ありがとう! – naspinski

関連する問題