когда я пытаюсь распечатать страницу, некоторые данные исчезают, как вы можете видеть из приведенных ниже примеров.
Все отсутствующие данные извлекаются методом AJAX.
Я полагаю, это потому, что веб-браузер снова вызывает страницу при вызове метода window.print () и выполняет рендеринг раньше, чем вызывается ajax.
Потому что время от времени данные показывают, но не всегда.
Как убедиться, что предварительный просмотр печати отображается после вызова каждого метода ajax в DOM?
* обновление
Это серверная часть. Когда пользователь запрашивает URL-адрес «/valuation / silver / userinfo», my.html будет обработан, и ajax вызывается в my.html , где расположен код ajax.
from models.restful_api import *
api.add_resource(UserInfo, "/evaluation/silver/userinfo")
@app.route('/my/page')
def SilverEvaluation_new():
return render_template('folder/my.html')
А ниже - функция ajax, которая вызывает API.
<script>
$(function() {
$.ajax({
type: "get",
url: "/evaluation/silver/userinfo",
data: 'application/json',
success: function(data){
var name, user_birth, bodycheck_date, gender, score, how_many;
name = JSON.parse(data).name;
user_birth = JSON.parse(data).birth;
bodycheck_date = JSON.parse(data).check_date;
gender = JSON.parse(data).gender;
if (gender === "M"){
gender = "남"
} else {
gender = "여"
}
score = JSON.parse(data).score;
how_many = JSON.parse(data).how_many;
$("#user_name").text(name);
$("#user_birth").text(user_birth);
$("#bodycheck_date").text(bodycheck_date);
$("#user_gender").text(gender);
$("#bodycheck_score").text(parseInt(score/6));
$(".bodycheck_score").text(parseInt(score/6));
$("#how_many").text(how_many);
}
})
})
</script>