javascriptにファイルが存在するかどうかを確認する方法は?

StackOverflow https://stackoverflow.com/questions/197228

  •  10-07-2019
  •  | 
  •  

質問

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

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

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

役に立ちましたか?

解決

ajaxCompleteイベントを使用できますが、要求のステータスを照会できるxhrオブジェクトにアクセスできます。たとえば、404のステータスはファイルが存在しないことを意味します。

ドキュメントの詳細 http://docs.jquery.com/Ajax/ajaxComplete#callback

ここでテスト http://pastebin.me/48f32a74927bb

e.g

$("#someDivId").ajaxComplete(function(request, settings){
    if (settings.status===404){
        //redirect here
    }
});

他のヒント

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

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

http://jsbin.com/iwume

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top