亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - nodejs在一個頁面下顯示mongodb數據庫里的內容,頁面出現is not defined錯誤,是哪里出了問題?

瀏覽:90日期:2023-09-30 13:28:00

問題描述

想在一個頁面顯示房間信息,于是照著一個curd的demo來寫自己的項目,但是打開后出現如下錯誤:

ReferenceError: E:codekkSecretChat-masterviewsroomview.html:51 49| </thead> 50| <tbody> >> 51| <% rooms.forEach(function( room ){ %> 52| <tr> 53| <td><%=room._id%></td> 54| <td><%= room.roomName %></td>rooms is not defined at eval (eval at compile (E:codekkSecretChat-masternode_modulesejslibejs.js:524:12), <anonymous>:14:8) at returnedFn (E:codekkSecretChat-masternode_modulesejslibejs.js:555:17) at tryHandleCache (E:codekkSecretChat-masternode_modulesejslibejs.js:203:34) at View.exports.renderFile [as engine] (E:codekkSecretChat-masternode_modulesejslibejs.js:412:10) at View.render (E:codekkSecretChat-masternode_modulesexpresslibview.js:128:8) at tryRender (E:codekkSecretChat-masternode_modulesexpresslibapplication.js:640:10) at EventEmitter.render (E:codekkSecretChat-masternode_modulesexpresslibapplication.js:592:3) at ServerResponse.render (E:codekkSecretChat-masternode_modulesexpresslibresponse.js:966:7) at E:codekkSecretChat-masterroutesroomview.js:19:9 at Layer.handle [as handle_request] (E:codekkSecretChat-masternode_modulesexpresslibrouterlayer.js:95:5) at next (E:codekkSecretChat-masternode_modulesexpresslibrouterroute.js:137:13) at Route.dispatch (E:codekkSecretChat-masternode_modulesexpresslibrouterroute.js:112:3) at Layer.handle [as handle_request] (E:codekkSecretChat-masternode_modulesexpresslibrouterlayer.js:95:5) at E:codekkSecretChat-masternode_modulesexpresslibrouterindex.js:281:22 at Function.process_params (E:codekkSecretChat-masternode_modulesexpresslibrouterindex.js:335:12) at next (E:codekkSecretChat-masternode_modulesexpresslibrouterindex.js:275:10)

roomview.html部分代碼:

<h1>房間列表</h1><table> <thead> <tr><th>id</th><th>roomName</th><th>roomContent</th><th>roomCreateUser</th><th>roomImg</th><th>roomCreateDate</th><th>roomJoinPeos</th><th>roomChat</th> </tr> </thead> <tbody> <% rooms.forEach(function( room ){ %> <tr><td><%= room._id%></td><td><%= room.roomName %></td><td><%= room.roomContent %></td><td><%= room.roomCreateUser %></td><td><%= room.roomImg %></td><td><%= room.roomCreateDate %></td><td><%= room.roomJoinPeos %></td><td><%= room.roomImg %></td><td><a href='http://www.aoyou183.cn/wenda/del.html?id=<%=room._id%>'>刪除房間</a> | <a href='http://www.aoyou183.cn/wenda/modifyroom.html?id=<%=demo._id%>'>更新房間信息</a></td> </tr> <% }); %> </tbody>

路由roomview.js代碼:

var fs = require(’fs’);var formidable = require(’formidable’);var util = require(’util’);var express = require(’express’);var multer = require(’multer’);var roommodal = require(’../src/db/models/room’);var user=require(’../src/db/models/user’);var adminuser=require(’../src/db/models/adminuser’);var upload = multer({ dest: ’uploads/’ });var result = require(’../src/utils/result’);var router = express.Router();router.get(’/roomview’,function(req,res,next){ if(req.session.userid){return next(); } res.redirect(’/adminlogin’);});router.get(’/’,function(req,res,next){ res.render(’roomview.html’,{userid:req.session.userid});});var Room=roommodal.Room;exports.roomview = function(req, res,next){ Room.find(function(err,docs){res.render(’roomview’, { rooms:docs}); });};module.exports = router;

模型room.js部分代碼:

var mongoose = require(’mongoose’);var Schema = mongoose.Schema;var roomSchema = new Schema({ roomName:String, roomContent:String, roomCreateDate:Date, roomImg:String, roomCreateUser:String, roomJoinPeos:Number, roomChat:String});var room = mongoose.model(’Room’,roomSchema);module.exports = room;

server.js部分代碼:

var express = require(’express’);var path = require(’path’);var bodyParser = require(’body-parser’);var session = require(’express-session’);var loginRouter = require(’./routes/login’);var logoutRouter = require(’./routes/logout’);var indexRouter = require(’./routes/index’);var roomviewRouter = require(’./routes/roomview’);var registerRouter = require(’./routes/register’);var adminloginRouter = require(’./routes/adminlogin’);var adminregisterRouter = require(’./routes/adminregister’);var app = express();app.set(’PORT’,3000);var server = app.listen(app.get(’PORT’),function(err){ if(err){ console.error(’server error:%s’,err && ess.message); return; } console.log(’server listening at :::’,app.get(’PORT’));});app.use(session({ secret:’recommand 128 bytes random string’, cookie:{maxAge:60*1000*1000}}));app.use(bodyParser.json());app.use(bodyParser.urlencoded({extened:true}));app.use(’/public’,express.static(path.join(__dirname,’/public’)));app.use(’/uploads’,express.static(path.join(__dirname,’/uploads’)));var ejs = require(’ejs’);app.engine(’html’,ejs.__express);app.set(’view engine’, ’html’);app.use(’/login’,loginRouter);app.use(’/adminlogin’,adminloginRouter);app.use(’/’,indexRouter);app.use(’/roomview’,roomviewRouter);app.use(’/register’,registerRouter);app.use(’/adminregister’,adminregisterRouter);app.get(’/room/users/:roomId’,function(req,res,next){ res.json(rooms[req.params.roomId]);});app.get(’/adminlogout’,function(req,res,next){ if(req.session.userid){var user = req.session.userid;delete req.session.userid; } res.redirect(’/adminlogin’);});

我猜測是在roomview.js這個路由出了問題而不是server.js,然后模型room.js是不能改的,所以應該只能改roomview.js,請問各位大神,怎么改呢?

問題解答

回答1:問題

server.js部分代碼掛載太多app.use(),根本用不著。

路由roomview.js代碼都不符合語法。 exports.roomview 是從哪里學到的?還能搭配 module.exports 使用?把 exports.roomview 改寫成 router.get()模式。以下代碼不符合語法。

exports.roomview = function(req, res,next){ Room.find(function(err,docs){res.render(’roomview’, { rooms:docs}); });};

你給出頁面錯誤信息,也給出你打開的頁面鏈接呀。要不我怎么知道是打開/roomview出錯?還是打開/roomview/123還是打開/roomview/roomview出錯?

解決

根據錯誤信息,你是想打開/roomview頁面,你的 路由 roomview.js 的 exports.roomview 根本就沒有走到。走的是路由 roomview.js 的 route.get(’/’, callback),這個 callback 沒有設置 rooms, 所以報錯,把 exports.roomview 引入 callback。大致如下。

router.get(’/’, function(req,res,next){ Room.find(function(err,docs){res.render(’roomview’, { userid: req.session.userid, rooms:docs}); });});

soonfy

回答2:

你在控制臺 把你render 到頁面的 rooms 數據打出來,看有木有,我怎么感覺 你寫錯了。 你在room.js里面 暴露出去了 room;然后 你在roomview.js路由方法怎么寫var Room=roommodal.Room; 直接 roommodal.find 就好了,后面的 Room 是啥!!!

標簽: JavaScript
主站蜘蛛池模板: 国产69精品久久久久9牛牛 | 青青国产成人精品视频 | 高清不卡一区二区 | 99v视频国产在线观看免费 | a级黄色毛片三 | 午夜淫片| 成人性视屏 | 欧美中文字幕在线视频 | 久久亚洲网站 | 一级毛片免费视频网站 | 欧美成人高清性色生活 | a毛片在线免费观看 | 国产白嫩美女在线观看 | 欧美日本黄色片 | 亚洲欧美日韩精品久久亚洲区色播 | 久久影院一区二区三区 | 久久视频精品线视频在线网站 | 免费网站看v片在线香蕉 | 日韩中文字幕在线观看 | 一区二区三区中文国产亚洲 | 日本黄色性生活片 | 黄色短视频免费 | 91青青草视频在线观看 | 综合久青草视频 | 国产在线观看免费一级 | 国产亚洲高清在线精品不卡 | 欧美一区二区三区免费播放 | 手机在线一区二区三区 | 亚洲精品国产第一区二区多人 | 精品国产成人a在线观看 | 免费影院在线观看 | 欧美日韩无线在码不卡一区二区三区 | 日本中文字幕精品理论在线 | 一级黄色片一级黄色片 | 中国国产一国产一级毛片视频 | 亚洲1区| 黄片毛片在线观看 | 最新国产麻豆精品 | 午夜三级毛片 | 久久久综合网 | 国产成人1024精品免费 |