使用AJAX从Flask渲染整个HTML页面

时间:2018-10-29 00:36:35

标签: javascript jquery ajax flask axios

我在后端的Web应用程序是Flask,我使用Jinja2和wtforms动态生成内容。

生成的主页是任何给定月份所有销售额的表。在表格的顶部,有一些用于过滤销售,月份,主管和客户经理的字段。

例如,当某人从“帐户管理器”下拉列表中选择一个帐户管理器时,我希望触发一个事件,该事件将与选定的帐户管理器一起的“获取”请求发送回服务器。然后,服务器将生成新的过滤内容,并将HTML页面发送回以呈现在客户端上。

我希望动态渲染保留在后端。我在“帐户管理器”选择字段中添加了一个事件侦听器,然后尝试使用Axios通过“获取”请求将ajax调用发送到服务器,该方法有效。我将整个HTML文档作为数据返回。

我的问题是,现在如何呈现整个HTML文档返回给Axios?还是有更好的方法来做到这一点?

我知道我可以轻松地使用这些过滤器元素创建一个表单,然后使用一个提交按钮将“发布”请求发送回服务器,它将可以正常工作。但是,我真的很想在选择字段发生更改时发送“获取”请求,而无需用户单击按钮。

1 个答案:

答案 0 :(得分:0)

我能够自己解决这个问题。我在问题的最后一段中回答了它。一个解决方案是简单地创建一个包含过滤器选择元素的表单。然后,我在每个选择元素上添加了一个事件侦听器。然后,事件侦听器的函数将调用表单上的Submit。很简单