如何在node.js中重新渲染html div?

时间:2013-12-17 15:11:24

标签: ajax node.js rerender

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

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

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

最初显示项目列表时,数据从控制器发送,格式化以玉石模板完成。

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

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

  

我有以下选项:

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

然而,这种方法非常脆弱。此外,很多代码都会在网络浏览器中公开。

我来自JSF,它重新渲染组件,这是一个内置功能。<​​/ p>

可以将node.js,ajax和重新渲染组合在一起吗?

3 个答案:

答案 0 :(得分:1)

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

$.get('http://example.com/partialList', function (listHTML) {
  $('#list-placeholder').html(listHTML);
});

答案 1 :(得分:1)

您应该使用现有的客户端Web开发框架,例如AngularJS,它将自动完成所有这些。

答案 2 :(得分:0)

简短的回答是否定的。节点在服务器上。您必须在客户端上呈现。你需要一些j来渲染ajax,无论如何。

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