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 и как я могу предотвратить это?