Ajax:构建HTML与注入HTML

Mig*_*igs 5 html javascript ajax json asynchronous

为了遵守StackOverflow提出的问题而不是创建讨论的建议,让我们考虑使用HTTPAsyncRquest来更新网页而不刷新它们的这两种方法:

1)解析/解释AsyncRequest返回的数据,以便构建更新页面的结果HTML,例如JSON :: parseAndExecute(returnedData); //只是一个例子

2)AsyncRequest返回的数据是原始jScript,它被执行并更新页面.例如plain old:eval(returnedData); //我们知道returnData不是恶意代码

为了排除学术/偏好问题,让我们假设我们使用完全相同的框架来编程服务器和客户端,唯一的区别是有一个选项/标志使它吐出JSON或原始jscript.

在那种情况下,是否有人应该选择的技术原因?

我问这个问题,因为在大多数情况下,原始的JSCRIPT应该更快,更灵活,但我发现大多数框架都没有返回JSCRIPT,而是由JSCRIPT解释的数据.

(只是为了澄清:我问它是否更小?更快?是否存在安全风险?兼容性风险?)

你可以在stackoverflow上发帖!

Tho*_*sen 1

您的第二种解决方案通常会更快、更容易实施并且使用更少的带宽。如果您在 Ajax 框架等中控制服务器端和客户端,那么安全性就不成问题。所以你唯一的问题是你最终会得到一个(邪恶的)评估。无论如何,你必须拥有它,因为除了 IE8 之外,如果代码中至少有一个 eval,就没有办法“解析”JSON。

我们 (Ra-Ajax) 在我们的 Ajax 引擎中使用 JSON 和 HTML(innerHTML 来解决所有实际问题)的组合。我们使用 JSON 来更改小部件上的属性,而我们在小部件上的初始渲染(或完整更新)上使用innerHTML。