【发布时间】:2011-02-14 11:12:27
【问题描述】:
我想用“Graceful Degradation”构建网页。也就是说,网页功能甚至禁用了javascript。现在我必须对 AJAX 响应的格式做出设计决定。
如果禁用了 javascript,对服务器的每个 HTTP 请求都会生成 HTML 作为响应。浏览器使用返回的 HTML 进行刷新。没关系。
如果启用了 javascript,对服务器的每个 AJAX HTTP 请求都会生成……嗯,JSON 或 HTML。
如果是HTML,很容易实现。只需使用 javascript 将部分页面替换为返回的 HTML。而且,在服务器端,不需要太多的代码更改。
如果是 JSON,那么我必须再次在 javascript 中实现 JSON-to-html 逻辑,这几乎是服务器端逻辑的重复。 复制是邪恶的。我真的不喜欢它。好处是带宽使用比 HTML 更好,带来更好的性能。
那么,优雅降级的最佳解决方案是什么? AJAX 请求返回 JSON 还是 HTML 更好?
【问题讨论】:
-
一如既往地取决于你必须做什么,为什么你的页面需要 JS?仅适用于异步请求?
-
JS 一般用于网页的丰富界面体验。部分而不是全部,JS 功能是从服务器异步请求资源。
标签: javascript html ajax graceful-degradation