【发布时间】:2021-03-18 04:42:11
【问题描述】:
我正在构建一个允许用户单击按钮的应用程序,当他们返回页面时,它会显示一条消息“已经感兴趣”。当我显示页面时,它会跳过 for 循环中的 if 语句并显示 else 语句。我做错了什么?
下面是我的代码和当前输出。
<% for(var i=0; i < userInterests.length; i++) { %>
<% if ((username == userInterests[i].username) && (postID == userInterests[i].post_id)){ %>
<p>Already interested</p>
<% break; %>
<% } else { %>
<form action="/jobs/interested/<%= post._id %>" method='POST'>
<button type="submit" class="btn btn-info">I'm interested</button>
</form>
<% break; %>
<% } %>
<% } %>
【问题讨论】:
-
它不喜欢 EJS 的问题。否则,它不会编译。尝试记录
if语句中的所有值并在循环中查看它们的值。这将使您清楚地了解为什么您的if语句被评估为错误。 -
为了让您的逻辑在 js 中更加稳固,请考虑使用
===而不是==。 -
我已经记录了它们的值并且它们与数据库中的条目相匹配。我的代码逻辑有问题吗?
标签: javascript node.js mongodb ejs