2

リクエストが完了していない間に Web ページの表示を開始するソリューションを探しています。たとえば、Express と EJS を使用して、複数のデータ ソース (熟練していない) にクエリを実行すると、使用する必要があるすべてのデータを取得するのを待ってから、 "res.render" を実行する必要があります。

ページの先頭を送信してから、1 つずつブロックすることはできますか?

ご協力いただきありがとうございます !

4

2 に答える 2

1

ページの半分を単純にレンダリングして、データがサーバー側のプログラミングによってページの読み込みを完了するのを待つことはできません。

あなたがやろうとしていることに対する最善の解決策は、AJAX 呼び出しです。クライアント側からデータを取得すると、ユーザーは、データ駆動型コンテンツがフェッチされるのを待たずに、利用可能なすべての静的コンテンツを表示できます。

これは、データ ソースへのクエリを最適化するという問題の最適な解決策ではありません。

于 2012-10-31T15:26:20.113 に答える
1
  1. 基本的なテンプレートを作成し、これを res.render() にフィードします。それは、ユーザーが最初に目にするものです。

  2. クライアント .js コード (「基本」ページで呼び出す) をコーディングする必要があります。これdocument.readyは、他のページを取得するために ajax 呼び出しを発行します。そのためには、それぞれのコンテンツで他のルートを有効にする必要があります。

  3. ajax 呼び出しのコールバックには、取得したコンテンツを「基本ページ」に追加する方法が必要です。

  4. それはすべきです。

(明らかに、これをより複雑で専門的なものにする方法はいくつかありますが、@LeGilles は「キックスタート」を探していたと思います)。

よろしく、

H.-

于 2012-10-31T15:39:29.807 に答える