当我尝试打印页面时,从以下示例中可以看到一些数据消失了。
所有丢失的数据都是通过AJAX方法检索的。
我相信这是因为Web浏览器在调用window.print()方法时调用了该页面,并且比ajax调用的渲染更早。
因为数据有时会显示,但并非总是如此。
如何确保在调用DOM中的每个ajax方法之后都呈现打印预览?
*更新
这是服务器部分。当用户请求“ / evaluation / silver / userinfo” URL时,将呈现 my.html ,并在ajax代码所在的 my.html 中调用ajax。 / p>
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')
下面是调用API的ajax函数。
<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>