2016-08-16 15 views
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' 
})); 

答えて

1

あなたがメッセージパラメータを渡す必要があります。あなたの場合

app.get('/sign_up', 
    function(req, res){ 
    res.render('sign_up', 
    { 
    title: 'Utasko | Sign Up', 
    message:req.query.message 
    }); 
}); 
関連する問題