我想用“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 更好?