$.ajax({...}) リクエストではなく、websocket を介して html マークアップをロードするクリーンで正しい方法があるかどうか疑問に思っています。私はWebSocketに少し慣れていないので、AJAXなどを完全に置き換えることができる場所を見つけようとしています...
現在、NodeJS アプリで別の「ポスト」ルーターを作成して html をロードするだけですが、そのすべてが必要かどうかはわかりません。
確かに、WebSocket を介して Node.js サーバーからクライアントにデータを渡すことができます。クライアントでは、それをページにポストするだけです。
たとえば、socket.io を使用している場合、クライアント コードで受信される生成された html を使用して、サーバー内でイベントを発行できます。
サーバー上:
socket.emit('yourFiringEvent', variableContainingYourRawHtml);
JavaScript クライアントの場合:
socket.on('yourFiringEvent', function(htmlResult) {
$("#yourContainerId").html(htmlResult); //jQuery flavour ;-)
});
クライアント コードがサーバーからイベントを受信すると、 HtmlResult内のvariableContainingYourRawHtmlにデータが読み込まれます。
使用していない場合は、websocket の使用に socket.io ライブラリを使用することをお勧めします。これは非常に強力で簡単です。
ほとんどの場合、クライアントとサーバー間の双方向接続を維持したい場合は、Websocket が必要です。これは、リアルタイム アプリケーション (チャット、株式マーケティング、e ラーニングなど) に役立ちます。
HTMLマークダウンをロードする必要がある場合、コンテンツをロードして提供するためにクライアントとサーバーを何度も行き来する必要はありません。これは非常にエレガントで無駄のない方法です。
サーバーに追加のペイロードを渡したくない場合は、 get route および $.get ajax リクエストにも使用できます。