サーバー上のファイルが 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)
}