0
GET変数 'message'をチェックしようとすると、ページのレンダリングで使用されない変数 'profile_image'のキャッチされていない参照エラーが発生します'エラー'。 'profile_image'は 'partials/header'で使用されますが、この特定のレンダーは 'partials/header-shadow'を使用しています。同じ部分を持つ別のページで同様の<%を使用していますが、これは問題ありません。このページから// <%if // condition {}%>文を削除しても大丈夫です。この特定のページがなぜ機能しないのか、私は考えられません。ここNodeJSページのレンダリングで不要なEJS変数のキャッチされていない参照エラー
はEJSです:
<% include partials/index-header-shadow %>
<div class="container">
<div class="col col-1-1">
<div class="wrapper no-scroll">
<div class="signup-form">
<div class="signup-form-inner">
<h3>Sign Up</h3>
<% if (message == "error") { %>
<span class="error">This email is already being used, you can login to your account by clicking the link below</span>
<% } %>
<form action="/sign_up" method="post">
<input type="text" name="name" placeholder="Username" required/>
<span class="error">Please enter a username</span>
<input type="email" name="email" placeholder="Email Address" required/>
<span class="error">Please enter a valid email address</span>
<input type="password" name="password" pattern=".{6,}" placeholder="Password (minimum 6 characters)" required/>
<span class="error">Please enter a password</span>
<input type="hidden" name="profile_image" value="images/profile_images/user_icon.png"/>
<input type="submit" name="submit" class="submit-btn" value="Sign Up" />
</form>
<div class="login-link">
<a href="/login">Already have an account? Log in here</a>
</div>
</div>
</div>
</div>
</div>
</div>
<% include partials/footer %>
そして、ここでは、サーバーがレンダリングです:
/* GET Sign_Up page. */
app.get('/sign_up',
function(req, res){
res.render('sign_up',
{
title: 'Utasko | Sign Up',
});
});
/* GET Sign_Up POST data. */
app.post('/sign_up', passport.authenticate('signup', {
successRedirect: '/login?message=success',
failureRedirect: '/sign_up?message=error'
}));