我遇到一个问题,其中Express / EJS中的变量未定义,因此视图无法加载。 在这里,如果要定义,我想在页面上显示一个名为weather的变量。相反,我收到错误“天气未定义”。我也尝试过'null'。顺便说一下,这只是开始。因为,当我提交表单时,天气变量将由输入中的值定义。所以那天晚上,我尝试了一下,没有成功。有没有更好的方法,或者我做事的方式有误?
以下显示了代码(我认为问题更多是关于Express / EJS而不是Node):
<html>
<head>
</head>
<body style="background-color:gray; color:black;">
<h1>
Hello World
</h1>
<form action="/form" method="post">
<label for="team_name">Enter name: </label>
<input id="team_name" type="text" name="name_field" value="Default name for team.">
<input type="submit" value="OK">
</form>
<% if(weather !== 'undefined'){ %>
<p><%= weather %></p>
<% } %>
<% if(error !== 'undefined'){ %>
<p><%= error %></p>
<% } %>
</body>
</html>
谢谢。
答案 0 :(得分:0)
使用“本地”解决的问题。这就是代码的样子。我将尽快编辑答案,并解释为什么本地人是它起作用的原因。
<% if(locals.weather !== 'undefined'){ %>
<p><%= locals.weather %></p>
<% } %>
<% if(locals.error !== 'undefined'){ %>
<p><%= locals.error %></p>
<% } %>
答案 1 :(得分:0)
如果您使用typeof
<% if(typeof weather !== 'undefined'){ %>
<p><%= weather %></p>
<% } %>
<% if(typeof error !== 'undefined'){ %>
<p><%= error %></p>
<% } %>