1

我正在使用 node.js 构建我的第一个应用程序。

这个应用程序使用 Express 作为带有 Jade 模板引擎的 Web 应用程序框架。

我需要设计一个屏幕来显示从 MongoDB 数据库中检索到的项目列表。

最初,在显示项目列表时,从控制器发送数据并在翡翠模板中完成格式化。

但是,我还需要通过 ajax 调用更新项目列表。

我发现很难为这个特定的流程设计一个合适的方法。

我有以下选择:

  1. 从 ajax 响应中发送项目列表。
  2. 使用 javascript 渲染 UI 组件 - 添加 css 类,准备 html。

然而,这种方法非常脆弱。还有很多代码会暴露在网络浏览器中。

我来自具有重新渲染组件的 JSF,这是一个内置功能。

node.js、ajax 和重新渲染可以结合在一起吗?

4

3 回答 3

1

您可以制作另一个路由器,例如“partialList”,在其中仅放置列表的 HTML,并在 ajax 请求中使用 Jade 模板填充和呈现该列表。然后在浏览器中(假设您使用 jQuery),您可以向http://example.com/partialList发出请求,您将只获得 HTML,然后使用 .html() 方法将该 HTML 放到必须列出列表的位置.

$.get('http://example.com/partialList', function (listHTML) {
  $('#list-placeholder').html(listHTML);
});
于 2013-12-17T15:52:07.513 回答
0

最简洁的答案是不。节点在服务器上。您必须在客户端上渲染。您将需要一些 js 以一种或另一种方式呈现 ajax。

您的替代方案是将客户端重定向到一个新页面,其中 html 呈现您喜欢的方式,这在 1999 年感觉很漂亮

于 2013-12-17T15:35:23.713 回答
0

您应该使用像 AngularJS 这样的现代客户端 Web 开发框架,它会自动完成所有这些工作。

于 2013-12-27T13:27:21.733 回答