jqueryライブラリを使用してhtmlファイルのコンテンツをロードしています。このようなもの:
$( "#Main")。load( "login.html")
ファイル(この場合は「login.html」)が存在しない場合は、それを検出して、たとえばユーザーをエラーページにリダイレクトできるようにします。ロードするファイルが存在するかどうかを検出する方法はありますか?
ajaxCompleteイベントを使用できます。whisを使用すると、リクエストのステータスをクエリできるxhrオブジェクトにアクセスできます。たとえば、ステータス404は、ファイルが存在しないことを意味します。
ドキュメントの詳細情報http://docs.jquery.com/Ajax/ajaxComplete#callback
ここでテストhttp://pastebin.me/48f32a74927bb
例えば
$("#someDivId").ajaxComplete(function(request, settings){
if (settings.status===404){
//redirect here
}
});
@PConroyのソリューションは機能しますが、失敗したすべてのajaxリクエストに対して同じことを行います。
リクエストごとにこれが必要な場合 - つまり、最初のリクエストが失敗した場合は X ページに移動し、2 番目のリクエストが失敗した場合は Y ページに移動する場合、$.ajax 関数のエラー ハンドルを使用してこれを行う必要があります。
(編集するには: http://jsbin.com/iwume/edit )