我开始做一些JS/HTML/CSS.从环顾四周看,从后端返回HTML(例如,Ajax响应)并直接显示它(例如通过将其分配给元素的innerHTML)并不罕见.例如,我相信jQuery load()方法基本上是执行此操作的快捷方式.
采取这种方法让我担心的原因有两个,但我不确定这是否只是因为我不熟悉这些方面的方法和惯用语而且我只是落后于时代或者这些是否是合理的问题.我特别关注的是:
1)直接将HTML分配给元素似乎不安全.或者,至少在有可能存在任何用户内容(甚至是第三方内容)的情况下至少是危险的.
2)直接发送演示信息(HTML)似乎可能导致最好避免的演示/模型混合.当然,可以在后端将这些干净地分开并仍然返回HTML,但是在我看过的少数几个项目中并非如此.
所以,我的问题是,在Ajax应用程序中返回HTML是一种合法形式的HTTP响应,还是最好避免?