完成项目的创建后
var express = require('express')
var app = express()
var fs = require('fs')
app.use(express.json())
var bodyParser = require('body-parser')
// 配置模板引擎和 body-parser 一定要在 app.use(router) 挂载路由之前
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
// 配置模板引擎
app.engine('html', require('express-art-template'));
//显示首页,学生列表
app.get('/index', function (require,response) {
//'utf-8'是将json字符串转换成字符串。不加'utf-8'也可以使用data.toString()
fs.readFile('./db.json','utf-8', function (err,data) {
if(err){
console.log(err)
}
response.render('index.html',{
students:JSON.parse(data).students
})
})
})
//渲染学生添加页面
app.get('/new', function (require,response) {
response.render('new.html')
console.log(require.body)
console.log("收到表单的提交!!!")
})
//添加页面提交
app.post('/new', function (require,response) {
console.log(require.body)
fs.readFile('./db.json', 'utf-8', function (err,data) {
if (err) {
return res.status(500).send('Server error.')
}
var students = JSON.parse(data).students
var student = require.body
student.age = parseInt(student.age)
student.id = parseInt(students[students.length - 1].id) + 1
console.log(student)
students.push(student)
var newStudents = JSON.stringify({students:students})
fs.writeFile('./db.json', newStudents, function (err) {
if (err) {
return res.status(500).send('Server error.')
}
})
})
//重定向跳转路由
response.redirect('/index')
})
//删除学生
app.get('/delete', function (req,res) {
var id = req.query.id
fs.readFile('./db.json', 'utf-8', function (err,data) {
if(err) {
res.send(err)
}
var students = JSON.parse(data).students
var deleteId = students.findIndex(function(item) {
return parseInt(item.id) === parseInt(id)
})
console.log("这是我的下标,而不是我的id")
console.log(deleteId)
students.splice(deleteId,1)
var newStudents = JSON.stringify({students:students})
fs.writeFile('./db.json', newStudents, function(err) {
if(err) {
res.send(err)
}
})
})
res.redirect('/index')
})
//修改学生
app.get('/edit', function (req,res) {
var id = req.query.id
console.log(id)
fs.readFile('./db.json', 'utf-8', function(err,data) {
if(err) {
res.send(err)
}
var students = JSON.parse(data).students
var student = students.find(function(item) {
return parseInt(item.id) === parseInt(id)
})
console.log("这是我的一整项,而不是我的下标")
console.log(student)
res.render('edit.html', {
student
})
})
})
//修改提交信息
app.post('/edit', function(req,res) {
console.log(req.body)
var student = req.body
fs.readFile('./db.json', 'utf-8', function(err,data) {
if(err) {
res.send(err)
}
var students = JSON.parse(data).students
var studentIndex = students.findIndex(function(item) {
return parseInt(item.id) === parseInt(student.id)
})
students.splice(studentIndex,1,student)
students = JSON.stringify({students:students})
fs.writeFile('./db.json',students,function(err) {
})
})
res.redirect('/index')
})
app.listen(3000, function () {
console.log('3000.running!!!!')
})