打印页面时AJAX结果不见了

时间:2018-11-08 07:10:44

标签: ajax web flask printing

当我尝试打印页面时,从以下示例中可以看到一些数据消失了。

所有丢失的数据都是通过AJAX方法检索的。

我相信这是因为Web浏览器在调用window.print()方法时调用了该页面,并且比ajax调用的渲染更早。

因为数据有时会显示,但并非总是如此。

如何确保在调用DOM中的每个ajax方法之后都呈现打印预览?

Result on Webpage Result when print preview]

*更新

这是服务器部分。当用户请求“ / 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>

0 个答案:

没有答案