【问题标题】:Load html without refresh加载html而不刷新
【发布时间】:2010-11-24 13:56:12
【问题描述】:
我不确定如何解决这个问题,我应该隐藏要加载的 html 还是从某个地方加载它?我想在一个页面中加载表单,在其他页面上加载动态内容。
表单可以保存到 mongo db,当页面加载时应该从 mongo db 将数据加载到该表单中。
所有页面的 html 位于何处?我想要一个干净的 html5 文档,让我们说一个内容 div。所有内容都进入该块。
运行 Django 的服务器
我想为应用程序使用backbone.js
任何帮助将不胜感激
【问题讨论】:
标签:
ajax
django
html
mongodb
backbone.js
【解决方案1】:
初始页面应包括应用程序的基本布局(标题、内容、侧边栏、视图的不同占位符等)
然后您加载应用程序(通常使用控制器)并呈现将替换您在布局中的占位符的不同视图。
要渲染视图,我建议使用模板引擎。使用backbone.js,页面上已经有underscore.js,因此您可以使用包含的模板引擎(http://documentcloud.github.com/underscore/#template)。然后,您必须在页面上加载模板。最简单的方法是在包含模板的页面上创建包含脚本元素:
<script type="text/template" name="template1">
your template here...
</script>
你可以使用这个来加载它:
var template = _.template( jQuery("script[name=template1]").text() )
并使用您的数据执行
var html = template(model)
您使用不同的模板构建具有不同主干视图的页面。
希望对你有所帮助!