我如何将一个变量从EJS页面传递到另一个EJS页面
问题描述:
你好
如何将一个变量从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的含量
答
如果你的意思是通过当用户点击一个链接,并从一个页面转到其他的价值,那么你可以使用查询参数,并有类似的链接:
<a href="page2?name=value">link</a>
其中name
是查询参数的名称,value
是它的值,可以使用适当的数据填充EJS模板。
现在,您可以在您的路由处理程序中获取该参数,并将其传递给具有其他变量的模板,或者您可以通过页面上的客户端JavaScript访问它。
如果您想传递变量,您希望将该变量提供给用户,那么您需要使用某些会话存储,cookie或本地存储。
如果您想将变量从一个页面传递给其他所有用户以减少重复,那么您应该使用include
将其包含在所有需要它的页面或由处理程序传递的页面中。
从你的问题来看,这不是很清楚你的意图是什么,但这或多或少可以在所有情况下做到。
答
那么你可以模拟绑定在一个页面,但不是两个单独的页面。为此你有自己的配方,你有两种新颖的做法,首先使用socket.io,这个方法让每个页面发布和订阅事件,每当一个页面发出一个事件,另一个页面自动接收它反之亦然。另一种方法是利用节点本地存储和缓存系统模块。对于本地存储你可以使用memcache,node-cache只是做一个npm搜索。对于快速和直接的缓存,使用redis,redis内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,散列,列表,集合和带有范围查询的排序集。
编码快乐:):
只要确保有两种方法,你应该有某种到位清理逻辑您的交易后,以腾出空间。 – Remario