Пока вы тестируете файлы на том же домене , это должно работать:
function fileExists(url) {
if(url){
var req = new XMLHttpRequest();
req.open('GET', url, false);
req.send();
return req.status==200;
} else {
return false;
}
}
Обратите внимание, в этом примере используется запрос GET, который помимо получения заголовков(все, что вам нужно, чтобы проверить, существует ли файл) получает весь файл.Если файл достаточно большой, этот метод может занять некоторое время.
Лучшим способом сделать это было бы изменение этой строки: req.open('GET', url, false);
на req.open('HEAD', url, false);