2017-04-11 34 views
0

こんにちは
EJSページから別のEJSページに変数を渡すにはどうすればいいですか?
は例えば、私はこのページに
EJSページから別のEJSページに変数を渡すには

// insertion.ejs // 




<!DOCTYPE html> 
      <html lang=”en”> 
      <head></head> 
      <header> 
       <% include ../views/header %> 
      </header> 
      <body> 
      <script> 
      var a="hello"; 
      </script> 
      </body> 
     </html> 

そしてこのページ

// get.ejs // 



     <!DOCTYPE html> 
      <html lang=”en”> 
      <head></head> 
      <header> 
       <% include ../views/header %> 
      </header> 
      <body> 
      <script> 
      var b 
      </script> 
      </body> 
     </html> 

を持って、どのように私は、あなたがのlocalStorage概念を使用することができます

答えて

0

あなたは、ユーザーがリンクをクリックして他のページへ行くとき、あなたはクエリパラメータを使用するなどのリンク持つことができる値を渡すことを意味している場合:

<a href="page2?name=value">link</a> 

nameをはクエリパラメータの名前で、valueはその値です。これにはEJSテンプレートによって適切なデータが設定されます。

これで、ルートハンドラでそのパラメータを取得し、他の変数を使用してテンプレートに渡すことができます。または、ページ上のクライアントサイドJavaScriptでアクセスできます。

変数をユーザーが使用できるようにするには、セッション記憶域、Cookieまたはローカル記憶域を使用する必要があります。

変数をあるページから他のすべてのユーザーに渡して重複を減らしたい場合は、それを必要とするすべてのページに含めるか、ハンドラによって渡すにはincludeを使用する必要があります。

あなたの意図はどういうことかはっきりしませんが、これはすべてのシナリオでできることです。

0

あなたは1ページでバインディングをモデル化できますが、2つの別々のページではできません。この目的のために、自分のレシピを調理して、これを行う2つの斬新な方法があります。最初にsocket.ioを使用します。この方法では、各ページを公開してイベントに登録させ、あるページがイベントを発行し、およびその逆。代わりの方法は、ノードのローカルストレージとキャッシュシステムモジュールを利用することです。ローカルストレージの場合はmemcache、ノードキャッシュの場合はnpm検索を実行できます。高速でダイレクトにキャッシュするには、データベース、キャッシュ、メッセージブローカーとして使用されるredis、redis in-memoryデータ構造ストアを使用します。これは、文字列、ハッシュ、リスト、セット、レンジクエリを持つソートされたセットなどのデータ構造をサポートします。

ハッピーコーディング:):

+0

いずれの方法でも、取引後に空き領域を確保するためのクリーンアップロジックが必要です。 – Remario

関連する問題