サーバー上のファイルの存在を確認するには、HTTPライブラリを使用する必要があります。応答が200、コードがうまく動作している場合角2、Http.get無視することができます404
private serverHeadRequest(): Observable<any> {
return this.http.head("theFileName.xxx")
.map(this.isResponseOkCallBack)
.catch(this.handleError);
}
private isResponseOkCallBack(res: Response) {
switch (res.status) {
case 404:
return false;
case 200:
return true;
default:
return false;
}
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
:それは私がやっているすべては、次のコードを呼び出している、非常に簡単です。しかし、他のどのような応答コードでもfalseを返すだけです。
エラーが発生した場合は単にfalseを返すと思った代わりのエラーハンドラとして試しましたが、これはうまくいきませんでした。
private handleError(error: any) {
return Observable.create()
.map({
return false;
});
}
どうすればこの機能が得られますか?特定のステータスコードを無視する方法はありますか?
感謝
JT
はい、これは機能しました。コンソールへの404印刷を持つことは問題ありません。この設計は理想的ではありませんが、処理に使用できるサーバー側スクリプトはありません。テキストファイル。大変ありがとう@dfsq –