通过 Websockets + NodeJS 而不是 AJAX 加载 Jade -> HTML



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

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

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

如果您需要加载HTML Mark下来,则无需多次从客户端到服务器来回加载内容并提供服务,这将非常优雅且不浪费的方式。

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

当然,

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

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

在服务器上:

socket.emit('yourFiringEvent', variableContainingYourRawHtml);

在 JavaScript 客户端上:

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

当你的客户端代码从服务器收到事件时,将在 HtmlResult 内的变量包含你的原始 HTML 上加载数据

如果您不使用它,我建议您使用 websocket socket.io 库,它非常强大且简单:

http://socket.io/

最新更新