我正在用ejs(都是最新版本)使用node.js構建測試網頁。 順便說一句,每當我運行服務器,它會顯示我下面的錯誤消息。使用ejs Web應用程序的node.js一直向我顯示參考錯誤
ReferenceError: /Users/xxxxxxxx/Project/workspace/nodesails/views/user/signup.ejs:28
26|
27| <ul>
>> 28| <% _.each(users, function(user) { %>
29| <li><%= user.name %> : <%= user.content %></li>
30| <% }) %>
31| </ul>
users is not defined
at eval (eval at <anonymous> (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/ejs/lib/ejs.js:236:14), <anonymous>:29:3642)
at eval (eval at <anonymous> (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/ejs/lib/ejs.js:236:14), <anonymous>:29:4048)
at /Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/ejs/lib/ejs.js:249:15
at Object.exports.render (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/ejs/lib/ejs.js:287:13)
at Object.exports.renderFile (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/ejs/lib/ejs.js:317:20)
at View.module.exports [as engine] (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/ejs-locals/index.js:85:7)
at View.render (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/express/lib/view.js:76:8)
at Function.app.render (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/express/lib/application.js:506:10)
at ServerResponse.res.render (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/node_modules/express/lib/response.js:756:7)
at renderView (/Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/lib/hooks/views/index.js:298:20)
at /Users/xxxxxxxx/Project/workspace/nodesails/node_modules/sails/lib/hooks/views/index.js:280:20
at Object.oncomplete (fs.js:107:15)
控制器(UserController.js)是如下
var data = [
{name: "Test 1", content:"xxxxxxxxxxxxxx"},
{name: "Test 2", content:"zzzzzzzzzzzzzz"},
{name: "Test 3", content:"yyyyyyyyyyyyyy"}
];
module.exports = {
add: function(req, res) {
res.send('Add a user');
},
remove: function(req, res) {
res.send('Remove a user');
},
signup: function(req, res) {
res.send('Signup here');
return res.view({users: data});
}
};
,這是routes.js
'/user/signup': {
view: 'user/signup'
},
,最後,該視圖的文件的一部分(圖/ user/signup.ejs)是
<div class="container clearfix">
<div class="main">
<h1 id="main-title">Register Here!</h1>
<ul>
<% _.each(users, function(user) { %>
<li><%= user.name %> : <%= user.content %></li>
<% }) %>
</ul>
</div>
</div>
我想我已經盡力了。 請給我一個幫助。謝謝!
當呈現視圖時,服務器端是否提供下劃線?我會嘗試刪除「_.each」並使用用戶[0] .name作爲測試,並確保問題是「用戶」集合(我懷疑它是這樣) –
@HectorCorrea謝謝,但我已經嘗試過並沒有工作... – yangsae
你是什麼意思,它沒有工作?您訪問用戶[0] .name時遇到錯誤嗎? –