【问题标题】:Loading Jade -> HTML via Websockets + NodeJS instead of AJAX通过 Websockets + NodeJS 而不是 AJAX 加载 Jade -> HTML
【发布时间】:2012-09-21 09:13:46
【问题描述】:

想知道是否有一种干净正确的方法可以通过 websockets 而不是通过 $.ajax({...}) 请求加载 html 标记。我对 websockets 有点陌生,所以我想弄清楚它在哪里可以完全取代 AJAX 等等......

现在我只是在我的 NodeJS 应用程序中创建另一个“发布”路由器来加载 html,但我不知道是否所有这些都是必要的。

【问题讨论】:

    标签: html ajax node.js websocket pug


    【解决方案1】:

    如果您想在客户端和服务器之间保持双向连接,则主要需要 websocket,这对于实时应用程序(如聊天、股票营销、电子学习等)很有用。

    如果你需要加载html标记,你不需要从客户端到服务器多次来回加载内容并提供它,这将是一种优雅且不浪费的方式。

    如果您不想向服务器传递额外的有效负载,也可以使用获取路由和 $.get ajax 请求。

    【讨论】:

      【解决方案2】:

      当然,您可以通过 websockets 将数据从 Node.js 服务器传递到您的客户端,一旦在客户端上,只需将其发布到页面。

      例如,如果您使用的是 socket.io,您可以使用生成的 html 在服务器内部发出一个事件,该事件将在客户端代码中接收:

      在服务器上:

      socket.emit('yourFiringEvent', variableContainingYourRawHtml);
      

      在 javascript 客户端上:

      socket.on('yourFiringEvent', function(htmlResult) {
          $("#yourContainerId").html(htmlResult); //jQuery flavour ;-)
      });
      

      当您的客户端代码从服务器接收到事件时,将在 HtmlResult

      内的 variableContainingYourRawHtml 上加载数据

      如果你不使用它,我推荐使用 socket.io 库来使用 websocket,它非常强大和简单:

      http://socket.io/

      【讨论】:

      • 但是你如何从一个jade文件中获取它,从节点内部获取原始html?
      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 2023-03-24
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2012-07-14
      • 1970-01-01
      相关资源
      最近更新 更多