node+express的路由跳转(get/post)
项目目录
app.js
var router = require('./router')
var express = require('express');
var app = express()
// 放开静态资源
app.use('/node_modules', express.static('./node_modules'))
app.use('/public', express.static('./public'))
app.engine('html',require('express-art-template'))
// 使用router
app.use(router)
app.listen(3000,function(){
console.log('running 3000...')
})
get 请求
router.js
var fs = require('fs')
var express = require('express')
// 1、创建一个路由容器
var router = express.Router();
// 2、把所有的路由都挂载在router上
router.get('/students', function (req, res) {
// 读文件
fs.readFile('./db.json', function (err, data) {
if (err) {
return res.send('err')
}
res.render('index.html', {
fruits: [{ name: '苹果' }, { name: '猕猴桃' }, { name: '香蕉' }, { name: '葡萄' }],
students: JSON.parse(data).students
})
})
})
router.get('/students/new',function(req,res){
// res.render() 默认找到views文件夹下的html文件
res.render('new.html')
})
// 3、导出
module.exports = router
post请求
注意点:需在app.js文件中加入这三句话,且配置模板引擎body-parser一定要在app.use(router)挂载路由之前
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
router.js
router.post('/students/new', function (req, res) {
//1.获取表单的数据
// body-parser
console.log(req.body)
//2处理
//3发送响应
})
附带完整node的增删改查项目地址:https://github.com/dalalalalala/student.git