动态呈现模板而无需重新加载页面

时间:2015-02-13 03:55:53

标签: javascript flask handlebars.js

刚开始制作Flask应用程序来制作一个简单的向导。现在我只有两个“步骤”,每个步骤都有自己的HTML模板化文件; Jinja是模板语言。第一次传递使得它在“Next”和“Previous”上路由到新页面。

很简单,但现在我想把它转换成一页的应用程序。使用Handlebars就像拥有一个主容器div一样简单,然后在单击下一个/上一个按钮时渲染单独的模板。

有没有办法在Flask中这样做?一种使用JS或Flask将模板HTML文件呈现或加载到div容器的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用AJAX从服务器加载内容,而无需重新加载整个页面。

举个例子:

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script>
  $(document).ready( function() {
        $('#next').click(function() {
           $.ajax("{{ url_for('myroute') }}").done(function (reply) {
              $('#container').html(reply);
           });
        });
  });
</script>

<input type="button" id="next" value="Next" />
<div id="container"></div>