1

我正在尝试提交 AJAXy 并将生成的部分插入到我的列表中的适当位置。我可以想到几个选项,但没有一个是非常好的:

选项 1:返回 JSON,用 Javascript 进行渲染。这似乎是呈现这个的错误位置,特别是因为列表本身是在我的应用程序服务器中呈现的。不过,它的好处是可以轻松访问要排序的值 ( response.full_name)。

选项 2:返回一个 HTML 片段,解析出排序值。在 Javascript 中解析 HTML 可能比渲染它更糟糕。

选项 3:返回一个 HTML 片段,该片段还包含一个<script>被评估的部分。这可以将 DOM 节点添加到主列表,然后进行 JS 调用以将其自身插入到正确的位置。这里的缺点是 IE 在或被调用时不会评估<script>标签。innerHTMLappendChild

4

1 回答 1

2

我个人会做#1。将服务器端生成的 HTML 与客户端生成的 HTML 相结合并没有错,但如果这是一个复杂的过程,最好将其保存在一个地方(在您的情况下是在服务器上)。因此,您可能希望返回(作为 JSON)两个值:排序值和 HTML 片段。

之后就很简单了:找到位置,实例化片段(例如,使用dojo.html.set() ),然后用dojo.place()放置它。或者直接就地实例化它。

于 2008-12-03T21:55:30.897 回答