麻煩大神幫忙看看,路由配置哪里寫的不對,非常感謝啦!
app.js代碼
var?express?=?require('express')//加載express框架
var?path?=?require('path')
var?jquery?=?require('jquery')
//?var?mongoose?=?require('mongoose')
var?_?=?require('underscore')
//?var?Movie?=?require('./models/movie')
//引入mysql數據庫模塊,引入數據庫參數文件
var?mysql?=?require('mysql')
var?mysqls?=?require('./mysql/mysqls')?
var?settings?=?require('./mysql/setting')
//創建數據庫連接
//?var?connection?=?mysql.createConnection(settings.db)
var?movie1?=?{
'title':'美人魚',
'doctor':'周星馳',
'country':'中國',
'year':'2016',
'poster':'images/1.jpg',
'flash':'http://www.iqiyi.com/v_19rrlq5w00.html',
'summary':'搞笑',
'language':'中文'
}
//?["\'周星馳\'","\'美人魚\'","\'中文\'","\'中國\'","\'搞笑\'","\'1\'","\'2\'","\'2016\'"]
//聲明數據池
var?pool
//創建連接池、刪除原表、創建新表
var?promise=mysqls.createDBPool().then(mysqls.deleteTab).then(mysqls.createTab)
//創建表之后插入數據
promise.then(function(rt){
pool=rt
mysqls.insertValue(rt,movie1)
}).catch(function(err){
console.log(err)
})
var?bodyParser?=?require('body-parser')
var?port?=?process.env.PORT?||?3000//設置端口號,process.env.PORT全局變量可從命令行中設置
var?app?=?express()//創建服務器
app.set('views','./view/pages')//設置網頁入口地址,第一個參數為默認的views,第二個參數為頁面路由路徑
app.set('view?engine','jade')//設置頁面加載引擎為jade
//?app.use(express.bodyParser())
app.use(bodyParser.json())//將表單的樣式格式化
app.use(bodyParser.urlencoded({?extended:?true?}))
//.bowerrc文件用來指定bower安裝插件的目錄路徑
app.use(express.static(path.join(__dirname,'public')))//托管靜態文件
app.listen(port)
console.log('jade?started?on?port?'+port)
//?設置頁面路由,index?page,第一個參數為訪問的URL端口之后的參數
app.get('/',function(req,res){
var?promise?=?mysqls.findByName(pool,'','').then(mysqls.handleData).then(function(rt){
//?console.log(rt)
res.render('index',{
title:'imooc?首頁',
movies:rt
})
}).catch(function(err){
console.log('err')
})
})
//設置頁面路由,detail?page
app.get('/move/:_id',function(req,res){
console.log('詳情頁:'+JSON.stringify(req))
var?id?=?req.params.id
var?promise?=?mysqls.findByName(pool,'_id',id).then(mysqls.handleData).then(function(rt){
res.render('detail',{
title:'imooc?詳情頁'?+?movie.title,
movie:rt[0]
})
}).catch(function(err){
console.log('err')
})
})
//設置頁面路由,admin?page,第一個參數為訪問的URL端口之后的參數,如127.0.0.1:3000/admin/movie
app.get('/admin/movie',function(req,res){
res.render('admin',{
title:'imooc?后臺錄入頁',
movie:{
title:'',
doctor:'',
country:'',
year:'',
poster:'',
flash:'',
summary:'',
language:''
}
})
})
//admin?update?movie
app.get('/admin/update/:_id',function(req,res){
var?id=req.params.id
if(id){
var?promise?=?mysqls.findByName(pool,'_id',id).then(mysqls.handleData).then(function(rt){
res.render('admin',{
title:'imooc?后臺更新頁',
movie:rt[0]
})
}).catch(function(err){
console.log('err')
})
}
})
//設置頁面路由,admin?post?movie,第一個參數為訪問的URL端口之后的參數,如127.0.0.1:3000/admin/movie/new
//獲取頁面POST過來的頁面
app.post('/admin/movie/new',function(req,res){
var?movieJson?=?req.body
var?id=?movieJson.movie._id
var?movieObj=movieJson.move
if(id?!==?'undefined'){//如果id存在則,查詢并替換
var?promise?=?mysqls.findByName(pool,'_id',id).then(mysqls.handleData).then(function(rt){
mysqls.updateValue(pool,rt[0],'_id',id)
}).catch(function(err){
console.log('err')
})
}
else{//新增的電影
mysqls.insertValue(pool,movieObj)
}
})
//設置頁面路由,list?page,第一個參數為訪問的URL端口之后的參數,如127.0.0.1:3000/admin/list
app.get('/admin/list',function(req,res){
var?promise?=?mysqls.findByName(pool,'','').then(mysqls.handleData).then(function(rt){
//?console.log(rt)
res.render('list',{
title:'imooc?列表頁',
movies:rt
})
}).catch(function(err){
console.log('err')
})
})
//list?delete?movie?配置刪除路由
app.delete('/admin/list',function(req,res){
var?id?=?req.query.id
if(id){
var?promise?=?mysqls.deleteValue(pool,'_id',id).then(function(rt){
if(rt===1){
promise?=?mysqls.findByName(pool,'','').then(mysqls.handleData).then(function(rt){
res.render('list',{
title:'imooc?列表頁',
movies:rt
}).catch(function(err){
console.log('err')
})
})
}
}).catch(function(err){
console.log('err')
})
}
})
detail.jade代碼
extends?../layout
block?content?
.container
.row
.col-md-7
embed(src="#{movie.flash}",allowFullScreen="true",quality="high",width="720",height="600",align="middle",type="application/x-shockwave-flash")
//-?<img?src="#{movie.poster}"?alt="#{movie.title}"?/>
.col-md-5
dl.dl-horizontal
dt?電影名字
dd=movie.title
dt?導演
dd=movie.doctor
dt?國家
dd=movie.country
dt?語言
dd=movie.language
dt?上映年份
dd=movie.year
dt?簡介
dd=movie.summary

2018-03-10
好像是你的detail頁面url中id沒有正確傳過來,你檢查一下你mysql中能不能正確的存入數據,看一下id,把你地址欄中的undefined替換成你數據庫中的id看看能不能正常跳轉