【发布时间】:2015-04-26 07:56:09
【问题描述】:
我正在开发一个项目,包括 Node.js、express 模块、jade 文件、MongoDB-Mongoose 等等。 我在实现从数据库到玉页面的 json 详细信息时遇到问题。
我试图找出问题所在,但没有成功。 我希望有人帮我找到并修复它。 谢谢。
这是错误信息:
TypeError: /Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/views/index.jade:66
64| div(id="archive-rooms-container" class="row panel thumbnail-row")
65| h4= 'Musical Projects'
> 66| each project, index in projects
67| div(class='col-md-3 rowSpace')
68| ul(class="room-details")
69| li
Cannot read property 'length' of undefined
at jade_debug.unshift.lineno (eval at <anonymous> (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:174:8), <anonymous>:618:31)
at eval (eval at <anonymous> (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:174:8), <anonymous>:815:4)
at eval (eval at <anonymous> (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:174:8), <anonymous>:955:22)
at res (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:175:38)
at Object.exports.render (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:300:10)
at Object.exports.renderFile (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:336:18)
at View.exports.renderFile [as engine] (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/jade/lib/jade.js:321:21)
at View.render (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/express/lib/view.js:93:8)
at EventEmitter.app.render (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/express/lib/application.js:530:10)
at ServerResponse.res.render (/Users/itzhak/Desktop/Development/Porvivo/AWSporvivo/node_modules/express/lib/response.js:933:7)
玉码:
each project, index in projects
div(class='col-md-3 rowSpace')
ul(class="room-details")
li
a(href="/projects/" + project.sessionId id=project.sessionId)
h3(style='margin:0 0 3px')= project.projectName
- var playerNames = [];
- for(var playerIndex in project.players) playerNames.push(room.players[playerIndex].name);
li
for playerName in playerNames
a(href="../" + playerName)= playerName
a(href="/projects/" + project.sessionId id=project.sessionId): img(src=project.img class="img-responsive")
Js 代码(在客户端):
function loadProjects() {
$.getJSON('/projects/info', function( data ) {
console.log(JSON.stringify(data));
});
}
$( document ).ready(function() {
loadProjects();
setInterval(loadProjects, 10000);
});
应用代码:(node.js)
var express = require('express'),
router = express.Router(),
Project = require('../schemas/project'),
projects = [];
Project.find().lean().exec(function(err, items) {
if (err) {
console.log('* ERROR!!! : ' + err);
} else {
projects = items;
console.log('* SUCCESS : ' + JSON.stringify(projects));
}
});
router.get('/info', function(req, res) {
res.json({projects: projects});
});
module.exports = router;
非常感谢!
伊扎克。
【问题讨论】:
-
项目未定义
标签: javascript json node.js express pug