Javascript 策略问题:RESTful应用程序中的平面/静态页面
我使用Backbone.js通过tastypie连接到Django后端。我已经为我的动态内容解决了一些问题,但我想知道如何处理我的FAQ/about/Contact页面。因为我希望有一个不间断的用户体验,不必等待页面在链接之间加载,我想知道从哪里加载这些平面页面的数据 我不想在这里进行总体设计,因为这些是带有非动态内容的小册子页面。简而言之,布局很重要,他们不需要CMS 那么,我的main index.html中是否已经有了这些页面,并在需要时显示它们?我觉得这很肮脏 我是否让Django将这些页面的html存储在设置为接受html的文本区域中,并在需要时通过tastypie将html作为JSON输出?啊,这听起来也很肮脏 或者django只吐出相关数据来填充已经在index.html中定义的html——这听起来是正确的,但工作太多了,我不想为我说过的不需要CMS的页面定义db模型Javascript 策略问题:RESTful应用程序中的平面/静态页面,javascript,django,web-applications,Javascript,Django,Web Applications,我使用Backbone.js通过tastypie连接到Django后端。我已经为我的动态内容解决了一些问题,但我想知道如何处理我的FAQ/about/Contact页面。因为我希望有一个不间断的用户体验,不必等待页面在链接之间加载,我想知道从哪里加载这些平面页面的数据 我不想在这里进行总体设计,因为这些是带有非动态内容的小册子页面。简而言之,布局很重要,他们不需要CMS 那么,我的main index.html中是否已经有了这些页面,并在需要时显示它们?我觉得这很肮脏 我是否让Django将这些
我希望我对所有这些方法的理解都有偏差,而您有更好的方法来解决我的难题。您的第一个想法是将它们包含在main index.html中,并根据需要显示它们,这似乎很合理,但有几个缺点:
- 您的索引页较重,因此加载速度比需要的慢
- 手册页面在代码库中没有逻辑上分开
<div id="faq-page">
<h1>FAQ</h1>
...
</div>
常见问题
...
在主页呈现后,使用空白div和事件通过AJAX加载它们。我不确定您是否正在使用jquery,但如果是这样,代码将如下所示
<div id="faq-page"></div>
<script>
$(function() {
$("#faq-page").hide() // ensure it doesn't display too early
.load("/include/faq.html"); // async load the content from server
});
</script>
$(函数(){
$(“#常见问题解答页”).hide()//确保它不会显示得太早
.load(“/include/faq.html”);//异步从服务器加载内容
});
现在,当用户点击应用程序中的FAQ链接时,页面将尽快显示。如果页面有时间加载(正常),它将立即显示。如果他们碰巧在加载链接之前点击了该链接,那么服务器一响应该链接就会显示出来
您可以在服务器端以自己喜欢的方式设置/include/faq.html