#javascript #html #jquery
#javascript #HTML #jquery
Вопрос:
Я написал этот код, чтобы проверить, есть ли файлы с одинаковым именем «планирование» в папке «загрузка», но только с расширением pdf или html. Я знаю, этот синтаксис не оптимизирован, но он работает. Я думаю, что есть более короткие и простые способы.
У кого-нибудь есть какие-либо примеры, чтобы поделиться со мной?
Спасибо.
<script>
function FileExists(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
var source = "upload/planning_11";
var pdf_file = FileExist(source ".pdf");
var html_file = FileExist(source ".html");
if (pdf_file==true amp;amp; html_file==false) {
$('#exist_file_pdf').show();
$('#exist_file_html').hide();
$('#exist_file_all').hide();
} else if (pdf_file==false amp;amp; html_file==true) {
$('#exist_file_html').hide();
$('#exist_file_html').show();
$('#exist_file_all').hide();
} else if (pdf_file==true amp;amp; html_file==true) {
$('#exist_file_html').hide();
$('#exist_file_html').hide();
$('#exist_file_all').show();
} else if (pdf_file==false amp;amp; html_file==false) {
$('#exist_file_html').hide();
$('#exist_file_html').hide();
$('#exist_file_all').hide();
}
</script>
<div id="exist_file_pdf">PDF planning file exist</div>
<div id="exist_file_html">HTML planning files exist</div>
<div id="exist_file_all">PDF and HTML planning files exists !</div>
Ответ №1:
Не используйте async false
Вместо этого вы можете сделать это
const source = "upload/planning_11";
const pdfUrl = source ".pdf";
const htmlUrl = source ".html";
$('#exist_file_all').hide();
$('#exist_file_html').hide();
$('#exist_file_pdf').hide();
$.ajax({
type: 'HEAD',
url: pdfUrl
success: function(msg) {
$('#exist_file_pdf').show();
$.ajax({
type: 'HEAD',
url: htmlUrl
success: function(msg) {
$('#exist_file_html').show();
if ($('#exist_file_html').is(":visible") amp;amp;
$('#exist_file_pdf').is(":visible")) {
$('#exist_file_all').show();
$('#exist_file_html').hide();
$('#exist_file_pdf').hide();
}
}
});
}
});
Комментарии:
1. Спасибо!!! Ваш код идеален, но как скрыть ‘exist_file_pdf’ и ‘exist_file_html’, если отображается ‘exist_file_all’?
2. Это было так просто. Каждый раз, когда после долгих часов поиска найдено решение, у меня возникает то же чувство, что и при прохождении Санта-Клауса. Большое вам спасибо.