在 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...' )
})

  

express 获取post 请求参数的更多相关文章

  1. Spring MVC(三)控制器获取页面请求参数以及将控制器数据传递给页面和实现重定向的方式

    首先做好环境配置 在mvc.xml里进行配置 1.开启组件扫描 2.开启基于mvc的标注 3.配置试图处理器 <?xml version="1.0" encoding=&qu ...

  2. JS获取url请求参数

    JS获取url请求参数,代码如下: // 获取url请求参数 function getQueryParams() { var query = location.search.substring(1) ...

  3. SpringBoot获取http请求参数的方法

    SpringBoot获取http请求参数的方法 原文:https://www.cnblogs.com/zhanglijun/p/9403483.html 有七种Java后台获取前端传来参数的方法,稍微 ...

  4. SpringBoot 拦截器获取http请求参数

    SpringBoot 拦截器获取http请求参数-- 所有骚操作基础 目录 SpringBoot 拦截器获取http请求参数-- 所有骚操作基础 获取http请求参数是一种刚需 定义拦截器获取请求 为 ...

  5. Struts2------Result处理&获取页面请求参数&API

    一.Result处理 1.1 说明 平常我们设置跳转页面,是在action标签里面加上 result标签来控制,这种设置的页面跳转,称之为 局部结果页面:但是我们有时候在很多个action里面,针对不 ...

  6. springboot获取URL请求参数的多种方式

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @pa ...

  7. springboot(服务端接口)获取URL请求参数的几种方法

    原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html 一.下面为7种服务端获取前端传过来的参数的方法  常用的方法为:@RequestParam和@Req ...

  8. springboot获取URL请求参数的几种方法

    原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html 1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于pos ...

  9. beego获取用户请求参数的方法

    我们经常需要获取用户传递的数据,包括 Get.POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据: GetString(key string) string Get ...

随机推荐

  1. 【bzoj2724】[Violet 6]蒲公英

    *题目描述: *输入: 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 *输出: *样例输入: 6 3 1 2 3 2 1 ...

  2. 【bzoj2882】工艺

    题目描述: 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的 ...

  3. webpack学习笔记二

    sourceMap 源代码与打包后的代码的映射关系.例如,在某个源文件中test.js里面有个错误,如果开启状态,那么打包后运行的报错信息就会说明是错误的具体位置,如果是关闭状态,报错后,提示的报错位 ...

  4. ecshop 除去版权信息

    ECSHOP 2.73彻底去版权的方法 前台部分: 1. 去掉头部TITLE “- Powered by ecshop” 后者打开includes/lib_main.php $page_title = ...

  5. CG-CTF | 综合题

    开场就是一个js混淆,直接丢到console里面 然后根据tip查头: 看到这个tip,一开始还以为要考注入了,用访问历史来进行注入,后来发现是我高估这题了,,,:

  6. spring- junit测试事务回滚

    http://blog.csdn.net/molingduzun123/article/details/49383235

  7. 获取项目配置的常用方法(Struts/Servlet)

    struts: //web.xml中: <context-param> <param-name>paramName</param-name> <param-v ...

  8. vue中动态加载图片路径的方法

    assets:在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如< img src=”./logo.png”>和background:url(./logo.p ...

  9. uva live 7635 National Bomb Defusing Squad

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  10. Mysql数据库密码忘记的解决办法

    密码忘记——破解密码 跳过授权方式,直接登录!! 1.以管理员身份打开cmd 2.停掉mysql服务端 C:\WINDOWS\system32>net stop mysql MySQL 服务正在 ...