jQuery または純粋な JavaScript でファイルが存在するかどうかを確認するにはどうすればよいですか? 質問する

jQuery または純粋な JavaScript でファイルが存在するかどうかを確認するにはどうすればよいですか? 質問する

サーバー上のファイルが jQuery または純粋な JavaScript で存在するかどうかを確認するにはどうすればよいですか?

ベストアンサー1

jQuery の場合:

$.ajax({
    url:'http://www.example.com/somefile.ext',
    type:'HEAD',
    error: function()
    {
        //file not exists
    },
    success: function()
    {
        //file exists
    }
});

編集:

jQueryを使わずに404ステータスをチェックするコードは次のとおりです。

function UrlExists(url)
{
    var http = new XMLHttpRequest();
    http.open('HEAD', url, false);
    http.send();
    return http.status!=404;
}

少し変更すると、代わりに HTTP ステータス コード 200 (成功) のステータスを確認できるようになります。

編集 2: 同期 XMLHttpRequest は非推奨になっているため、次のようなユーティリティ メソッドを追加して非同期で実行できます。

function executeIfFileExist(src, callback) {
    var xhr = new XMLHttpRequest()
    xhr.onreadystatechange = function() {
        if (this.readyState === this.DONE) {
            callback()
        }
    }
    xhr.open('HEAD', src)
}

おすすめ記事