node.js完成增删改

完成项目的创建后

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!!!!')
})
posted @ 2021-03-21 16:25  嘿!那个姑娘  阅读(48)  评论(0编辑  收藏  举报