2013-07-01 33 views
0

確定這是愚蠢的,但我不能讓它爲我的生活工作,我只是想做一個簡單的陳述,如果內部的ejs,但它不斷以快遞方式返回一個意外的捕獲事件nodejs + ejs如果快遞返回一個意想不到的捕獲

成立現場,我有一個JSON這就是建立在使用EJS作爲我的模板渲染AA的NodeJS登記表,可以說我有下面的代碼:

var userData:{ 
     "username":"User name", 
     "email":"[email protected]", 
     "password":"Please enter Password", 
     "birthdate":"date" 
     } 

和我有一個那去

<h1 id="page-title"><%= title %></h1> 
<div id="list"> 
<form action="user/create/" method="post" accept-charset="utf-8"> 
    <div class="item-new"> 
    <% for (var key in userData){ %> 
     <% if(key != 'birthdate'){ %> 
     <input class="input" type="text" name="<%= key %>" placeholder="<%= userData[key] %>"/> 

     <% }else{ %> 
     //do something 
    <% } %> 

</div> 

我試圖預先定義一個變量,並檢查定義

+0

OK,所以我想我可能已經想通了......似乎因爲即時通訊從外部文件解析我的JSON我不能訪問它的鍵,我重新didi的例子和應用: var obj = userData.toJSON(userData); 我會檢查這個實際案例的更新,如果它工作,我會在這裏發佈整個代碼。 – user1375895

回答

1

的值。如果你提供的例子確實是所有的代碼EJS文件,你不是活得關閉所有的標籤,具體來說,你並沒有關閉你的for循環,你的div或你的表單。當我關閉所有這些,視圖將無誤地呈現給我。這是我使用的EJS:

<!DOCTYPE html> 
<html> 
    <head> 
    <title><%= title %></title> 
    <link rel='stylesheet' href='/stylesheets/style-min.css' /> 
    </head> 
    <body> 
    <h1 id="page-title"><%= title %></h1> 
    <div id="list"> 
    <form action="user/create/" method="post" accept-charset="utf-8"> 
     <div class="item-new"> 
      <% for (var key in userData){ %> 
      <% if(key != 'birthdate'){ %> 
       <input class="input" type="text" name="<%= key %>" placeholder="<%= userData[key] %>"/> 
      <% } else{ %> 
      <% } %> 
      <% } %> 
     </div> 
    </form> 
    </div> 
    </body> 
</html> 

我使用此功能,以使其:

exports.test = function(req, res){ 
    res.render('test', { title: 'nodejs + ejs for if express returns a unexpected catch', userData:{ 
     "username":"User name", 
     "email":"[email protected]", 
     "password":"Please enter Password", 
     "birthdate":"date" 
     }}); 
}; 

當我使用上面的我得到這個結果: enter image description here

+0

謝謝!我發佈的代碼是一個精簡的版本,以實現這個想法,我的問題是當引用外部JSON時。謝謝,我的朋友。 – user1375895

相關問題