поместите слово "Пожалуйста, подождите, не закрывайте Windows" на Ajax Загрузка - PullRequest
1 голос
/ 07 февраля 2020

Я использую частичное представление для своих проектов. Мой Ajax код здесь:

$("#btnAdd").on("click", function () {
        var formData = new FormData();
        var dhnFiles = $("#fileDHN")[0].files;

        if (dhnFiles.length == 0) {
          alert("Pilih file DHN terlebih dahulu!");
          return;
        }

        for (var i = 0; i < dhnFiles.length; i++) {
            formData.append("DataDHN", dhnFiles[i]);
        }

        $.ajax({
            method: "POST",
            url: "@Url.Action("PartialViewTableDataDHN")",
            data: formData,
            contentType: false,
            processData: false
        }).done(function (data) {
            $("#TableDHN").html(data);
        }).fail(function () {
            alert("Error submitting data to server.");
        });
    });

Загрузка около 20 минут. и я хочу, чтобы пользователь подождал и не закрывал windows. Как добавить слова «Пожалуйста, подождите, не закрывайте windows» во время загрузки.

Спасибо.

1 Ответ

2 голосов
/ 07 февраля 2020

возможно, вы можете добавить оверлей div, который вы можете отобразить с помощью beforeSend пре-запроса callbak ... тогда вы можете скрыть сообщение ovelay, когда ajax завершено ...

$.ajax({
    method: "POST",
    url: "@Url.Action("PartialViewTableDataDHN")",
    data: formData,
    contentType: false,
    processData: false,
    beforeSend: function( xhr ) {
        $('#overlay_message').show();
    }
}).done(function (data) {
    $("#TableDHN").html(data);
}).fail(function () {
    alert("Error submitting data to server.");
}).completed(function(){
    $('#overlay_message').hide();
});

Посмотрите, как создать наложение: https://www.w3schools.com/howto/howto_css_overlay.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...