express html文件接收路由参数,express 获取post 请求参数

在 Express 中没有内置获取表单 POST 请求体的 API , 我们需要添加第三方插件库

安装:

npm install --save body-parser

配置:

var bodyParser = require('body-parser')

//配置 body-parser 中间件 (插件, 专门用来解析表单 POST 请求)

// parse application/x-www-form-urlencoded

app.use(bodyParser.urlencoded({txtended: false}))

//parse application/json

app.use(bodyParser.json())

实例:

var express = require('express')

var bodyParser = require('body-parser')

//1. 创建app

var app = express()

/*

* 第一个参数 表示, 当渲染以 .art 结尾的文件时候 使用 art-template 模板引擎

* express-art-template 是专门用来 Express 中把 art-template 整合到 Express

* 虽然不需要加载 art-template 但也必须要安装

*/

//app.engine( 'art', require('express-art-template') )

app.engine( 'html', require('express-art-template') )

/*

* Express 为 Response 相应对象提供一个方法 : render

* render 方法默认不可以使用, 但是如果配置了模板引擎就可以

* res.render('html模板名','模板数据')

* 第一个参数不能写路径 , 默认会去项目中的views 目录汇总找模板文件

* 也就是 Express 有一个约定, 开发人员把所有的视图文件都放到 views 文件中

*/

var comments = [

{

name: '张三',

message: '今天天气不错',

dateTime: '2019-10-16'

},

{

name: '张三2',

message: '今天天气不错',

dateTime: '2019-10-16'

},

{

name: '张三3',

message: '今天天气不错',

dateTime: '2019-10-16'

},

{

name: '张三4',

message: '今天天气不错',

dateTime: '2019-10-16'

},

{

name: '张三5',

message: '今天天气不错',

dateTime: '2019-10-16'

}

]

//配置 body-parser 中间件 (插件, 专门用来解析表单 POST 请求)

// parse application/x-www-form-urlencoded

app.use(bodyParser.urlencoded({txtended: false}))

//parse application/json

app.use(bodyParser.json())

// 如果要修改 views 目录

//app.set('views', 'render函数的默认路径')

app.get('/404', function (req, res) {

res.render('404.html')

})

app.get('/admin', function (req, res) {

res.render('admin/index.html', {

title: '管理系统'

})

})

//设置静态文件路经 用/public/ 代替 './public/'

app.use('/public/', express.static('./public/') )

app.get('/', function (req, res) {

//res.end('hello world')

res.render('index.html', {

comments: comments

})

})

app.get('/post', function (req, res) {

res.render('post.html')

})

app.get('/pinglun', function (req, res) {

var comment = req.query

comment.dateTime = '2019-11-02 17:17:17'

//comments.push(comment)

comments.unshift(comment)

res.redirect('/')

})

app.post('/pinglun', function (req, res) {

/*

* 获取 post 请求参数

* 处理

* 发送响应

*/

var comment = req.body

comment.dateTime = '2019-11-02 17:17:17'

//comments.push(comment)

comments.unshift(comment)

res.redirect('/')

})

app.listen(3000, function () {

console.log( 'express app is running...' )

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值