想知道是否有一种干净正确的方法来通过websockets而不是通过$ .ajax({...})请求加载html标记。我对websockets有些新意,所以我试图找出它可以完全取代AJAX等等......
现在我只是在我的NodeJS应用程序中创建另一个'post'路由器来加载html但我不知道是否所有这些都是必要的。
答案 0 :(得分:0)
如果你想在客户端和服务器之间保持双向连接,那么你需要使用websockets,这对于实时应用程序(如聊天,股票营销,电子学习等)非常有用。
如果您需要加载html标记,您不需要多次从客户端到服务器来回加载内容并提供服务,它将非常优雅且不浪费。
如果您不想将额外的有效负载传递给服务器,您还可以使用获取路由和$ .get ajax请求。
答案 1 :(得分:0)
当然,您可以通过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,它非常强大和简单: