2017-04-11 69 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> 

所以,我怎么可以传递变量给变量B的含量

回答

0

如果你的意思是通过当用户点击一个链接,并从一个页面转到其他的价值,那么你可以使用查询参数,并有类似的链接:

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

其中name是查询参数的名称,value是它的值,可以使用适当的数据填充EJS模板。

现在,您可以在您的路由处理程序中获取该参数,并将其传递给具有其他变量的模板,或者您可以通过页面上的客户端JavaScript访问它。

如果您想传递变量,您希望将该变量提供给用户,那么您需要使用某些会话存储,cookie或本地存储。

如果您想将变量从一个页面传递给其他所有用户以减少重复,那么您应该使用include将其包含在所有需要它的页面或由处理程序传递的页面中。

从你的问题来看,这不是很清楚你的意图是什么,但这或多或少可以在所有情况下做到。

0

那么你可以模拟绑定在一个页面,但不是两个单独的页面。为此你有自己的配方,你有两种新颖的做法,首先使用socket.io,这个方法让每个页面发布和订阅事件,每当一个页面发出一个事件,另一个页面自动接收它反之亦然。另一种方法是利用节点本地存储和缓存系统模块。对于本地存储你可以使用memcache,node-cache只是做一个npm搜索。对于快速和直接的缓存,使用redis,redis内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,散列,列表,集合和带有范围查询的排序集。

编码快乐:):

+0

只要确保有两种方法,你应该有某种到位清理逻辑您的交易后,以腾出空间。 – Remario

相关问题