2017-04-21 90 views
1

我試圖從路由器傳遞消息到我的ejs視圖索引。但是當我加載在瀏覽器中查看它說的對象密鑰是不確定的從路由器傳遞值來查看節點js

if(data != null){ 
     if(data.name == req.body.name){ 
      res.render('index', {err: 'The name already exist'}); 
     } 
    } 

這是語句,我想,當用戶點擊提交按鈕,顯示此錯誤

這是EJS模板代碼我心中已經用於顯示錯誤

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
<h1>Add names</h1> 
<p>Enter your name to add it into a database</p> 
<form method="POST" action="/names"> 
    <input type="text" name="name" placeholder="Enter Name here" required/> 
    </br> 
    <input type="submit"/> 
</form> 
<%for(var i = 0; i < data.length; i++){%> 
    <p>This is your name: <%=data[i].name%></p> 
<%}%> 

<p><%=err%></p> 

</body> 
</html> 

錯誤表明我作爲(ERR沒有定義)

謝謝

+0

聽起來像模板中的錯誤。你的模板是什麼樣的? –

+0

這是一個ejs模板,所以它有一個表單和一個輸入字段。所以和最後一件事,我顯示一些數據檢索從數據庫集合這是所有在模板視圖 –

+0

發佈代碼可能會有所幫助。只有你的描述很難猜測發生了什麼。 https://stackoverflow.com/help/mcve –

回答

1

您需要檢查您解析爲ejs模板的變量或值的存在。在您的EJS模板上,嘗試以下更改

<%if(typeof(data) != 'undefined'){for(var i = 0; i < data.length; i++){%> 
     <p>This is your name: <%=data[i].name%></p> 
    <%}}%> 

    <%if(typeof(err) != 'undefined'){%> 
<p><%=err%></p> 
<%}%> 

乾杯!

+0

#prophp它成功地工作謝謝你 –