Документ JQuery уже запускается в Firefox и MS Edge, но не в Chrome после вызова Ajax - PullRequest
0 голосов
/ 10 мая 2019

Ajax-вызов используется для загрузки файла.Это отлично работает.Вызваны обратные вызовы «сделано / не выполнено / всегда обещают».Однако функция document.ready запускается в Firefox и MS Edge.Chrome (правильно) не запускает функцию document.ready.

<div id="message" style="">[placeholder]</div>
$(document).ready(function() {
  alert('(document.ready) msg = ' + $('#message').html());

  $('#btnSubmit').click(function() {
    var posting = $.ajax({
      url: serviceUrl,
      type: "POST",
      data: formData,
      processData: false,
      contentType: false,
      dataType: "text"
    });

    posting.done(function(data) {
      if (data.trim() == "") {
        alert('success');
        $('#message').attr('class', 'success');
        $('#message').html('Successfully processed file');
      } else {
        $('#message').attr('class', 'error');
        $('#message').html(data);
      }
    }).fail(function() {
      // Show default error on general failures
      $('#message').attr('class', 'error');
      $("#message").html(DEFAULT_ERROR);
    }).always(function() {
      $("#message").css('display', 'block');
      // Reenable "Submit" button and hide loader
      $("#btnSubmit").prop("disabled", false);
    });
  });
});

Предупреждение в функции document.ready появляется после вызова Ajax в Firefox и MS Edge.Изменение содержимого #message div перезаписывается.Chrome (правильно) не запускает функцию document.ready и оставляет содержимое #message в одиночку.

Почему событие document.ready происходит после вызова Ajax и как я могу предотвратить это?

...