ajax - 用模板构建 HTML 还是用 javascript 构建?

标签 ajax django-templates web.py jquery-templates

我最近开始制作网络应用程序,虽然我制作了一些有效的东西,但我不确定最佳实践。

到目前为止,我主要使用 Django、web.py 和 PHP 的模板系统。但是现在我使用 jQuery 和漂亮的 ajaxy 魔法从服务器获取数据而不刷新客户端,我看到了直接在 javascript 中构建 HTML 的优点(所以我可以只发送一个小的 json 对象到客户端和让他弄清楚要改变什么以及如何改变)。

所以现在我有一些用模板呈现的位,有些是内置在 javascript 中的,甚至还有一个可怕的案例,其中混合了两者,一个 web.py 模板,它生成一个创建 HTML 表的 javascript 函数 - 感觉就像再次使用 C 宏! (我最终会重构它)

这是 Web 开发中的常见问题吗?任何推荐的最佳实践,例如“对所有内容使用 json,在 javascript 中尽可能多地呈现”、“使用库 foo”等?对于模板处理什么以及javascript处理什么有什么好的启发?

在这里搜索了一下,我找到了一个人 asking about javascript templates ,这似乎是一个可能的解决方案。

最佳答案

请不要使用 Javascript 来布局您的页面。仅在需要的地方使用它。

尽管最近进行了增强和标准化,但 Javascript 通常仍然很慢,难以完全兼容(想想旧的 IE 和其他),并且与某些屏幕阅读器和抓取工具/搜索引擎不太兼容。

如果您可以通过返回直接的 HTML 来实现,那么这通常就是您想要的方式。

关于ajax - 用模板构建 HTML 还是用 javascript 构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4240026/

相关文章:

python - 为 Web 应用程序中的场所列表实现 "is open now"过滤器

ajax - Grails 链式下拉

javascript - 在 Chrome 中加载 (readyState==3) 时的 XmlHttpRequest.responseText

django - 如何在 django 中使用 django-taggit 按标签过滤帖子

Django 管理自定义模板标签

python web.py 形式 - 没有得到任何值(value)

javascript - AJAX API 代码检查?地下天气API?

php - 提交表单时,如何根据下拉框中的值禁用html表单输入框

Django - 在没有 {% load .. %} 的情况下,通过自定义标签替换整个站点的内置模板标签

Python:队列和线程的阻塞问题