3

jqueryライブラリを使用してhtmlファイルのコンテンツをロードしています。このようなもの:

$( "#Main")。load( "login.html")

ファイル(この場合は「login.html」)が​​存在しない場合は、それを検出して、たとえばユーザーをエラーページにリダイレクトできるようにします。ロードするファイルが存在するかどうかを検出する方法はありますか?

4

2 に答える 2

12

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
    }
});
于 2008-10-13T10:52:01.270 に答える
1

@PConroyのソリューションは機能しますが、失敗したすべてのajaxリクエストに対して同じことを行います。

リクエストごとにこれが必要な場合 - つまり、最初のリクエストが失敗した場合は X ページに移動し、2 番目のリクエストが失敗した場合は Y ページに移動する場合、$.ajax 関数のエラー ハンドルを使用してこれを行う必要があります。

http://jsbin.com/iwume

(編集するには: http://jsbin.com/iwume/edit )

于 2008-10-14T09:32:40.603 に答える