亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

有跳轉的頁面就加載不起來,主頁,admin/move,admin/list,admin都能成功加載起來。

麻煩大神幫忙看看,路由配置哪里寫的不對,非常感謝啦!
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

http://img1.sycdn.imooc.com//5aa0a94f0001c2d811510712.jpg

正在回答

1 回答

好像是你的detail頁面url中id沒有正確傳過來,你檢查一下你mysql中能不能正確的存入數據,看一下id,把你地址欄中的undefined替換成你數據庫中的id看看能不能正常跳轉http://img1.sycdn.imooc.com//5aa3808400017f3005000310.jpg

0 回復 有任何疑惑可以回復我~
#1

沫沫Michelle 提問者

嗯嗯,就是id沒有傳過來,已經解決了,非常感謝哈!
2018-03-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
node+mongodb 建站攻略(一期)
  • 參與學習       91828    人
  • 解答問題       921    個

帶你完整實現一個從前端到后端的項目,初中級前端開發工程師必學課程

進入課程

有跳轉的頁面就加載不起來,主頁,admin/move,admin/list,admin都能成功加載起來。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號