1.数据:GET、POST

2.中间件:使用、写、链式操作

  • GET-无需中间件

    req.query

  • POST-需要"body-parser"

server.use(bodyParser.urlencoded({}));

server.use(function (){
req.body
});
  • 链式操作:

1.1.GET、POST

利用 req.query

  server.use(bodyParser.urlencoded({extended:false/true,limit: }));  //limit限制 大小
server.use(function (req, res, next){
req.body
});

疑问:bodyParser.urlencoded 中设置 extended 为 true 和为 false 有什么区别吗?

当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。

2.1.链式操作

  server.use(function (req, res, next){});
server.get('/', function (req, res, next){});
server.post(function (req, res, next){});

next——下一个步骤

next();

  server.use('/login', function (){
mysql.query(function (){
if(有错)
res.emit('error');
else
next();
});
});

2.2 中间件(body-parser)、自己写中间件

有个 next(); 参数

 server.use(function (req, res, next){
var str='';
req.on('data', function (data){
str+=data;
});
req.on('end', function (){
req.body=querystring.parse(str);
next();
});
});

自己写的中间件实例:

module模块:

import { request } from 'https';
import { read } from 'fs'; // 自己写的中间件
const querystring=require('querystring'); module.exports={
aaa: function (){
return function (req, res, next){
var str='';
req.on('data', function (data){
str+=data;
});
req.on('end', function (){
req.body=querystring.parse(str); next();
});
};
}
}

js文件:

const express = require('express');
const bodyParser2 = require(' //改成你自己的路径 '); var server = express();
server.listen(8080) // 用自己的中间件
server.use(bodyParser2.aaa()); server.use('/',function(req,res){
console.log(req.body);
})

express学习(二)—— Post()类型和中间件的更多相关文章

  1. Java开发学习(二十五)----使用PostMan完成不同类型参数传递

    一.请求参数 请求路径设置好后,只要确保页面发送请求地址和后台Controller类中配置的路径一致,就可以接收到前端的请求,接收到请求后,如何接收页面传递的参数? 关于请求参数的传递与接收是和请求方 ...

  2. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  3. Express 学习笔记纯干货(Routing、Middleware、托管静态文件、view engine 等等)

    原始文章链接:http://www.lovebxm.com/2017/07/14/express-primer/ 1. Express 简介 Express 是基于 Node.js 平台,快速.开放. ...

  4. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  5. express学习(三)—— cookie和session

    express学习(三)-- cookie和session cookie存在浏览器中,最大只能保存4K数据,不安全 session存在服务器中,不能独立(先读取cookie再读取session),较安 ...

  6. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer

      DjangoRestFramework学习二之序列化组件.视图组件   本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...

  7. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

  8. Android JNI学习(二)——实战JNI之“hello world”

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  9. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  10. day 90 DjangoRestFramework学习二之序列化组件

      DjangoRestFramework学习二之序列化组件   本节目录 一 序列化组件 二 xxx 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组件 首先按照 ...

随机推荐

  1. secureCRT的安装及破解

    secureCRT是我们平时都会用到的终端仿真程序,所谓是居家旅行必备神器啊,下面就说说怎么安装破解secureCRT. (网上有破解版和一些绿色版,感觉或多或少都有点问题,比如我用便携版就有问题,所 ...

  2. 从JavaScript的事件循环到Promise

    JS线程是单线程运行机制,就是自己按顺序做自己的事,浏览器线程用于交互和控制,JS可以操作DOM元素, 说起JS中的异步时,我们需要注意的是,JS中其实有两种异步,一种是基于浏览器的异步IO,比如Aj ...

  3. python3.6.4 tkinter安装

    在pyenv虚拟环境中   sudo yum -y install tkinter tcl-devel tk-devel     重新安装python pyenv install -v 3.6.4

  4. CSS Grid 网格布局全解析

    介绍 CSS Grid(网格) 布局使我们能够比以往任何时候都可以更灵活构建和控制自定义网格. Grid(网格) 布局使我们能够将网页分成具有简单属性的行和列.它还能使我们在不改变任何HTML的情况下 ...

  5. 求第k小的元素

    用快排解决: 用快排,一趟排序后,根据基准值来缩小问题规模.基准值的下角标i 加1 表示了基准值在数组中第几小.如果k<i+1,那就在左半边找:如果k>i+1那就在右半边找.当基准值的下角 ...

  6. Java获取键盘输入

    方法一:在控制台接收字符串并将其打印出来,使用BufferedReader和InputStreamReader类实现 import java.io.*; public class Demo { pub ...

  7. js先后对某个js对象内的两个属性排序

    需求 列表中先根据某id进行排序,然后id相同的再按某属性进行排序.最终显示效果如图所示: 实现代码 var data.items = [ {'brand_id':1,'farm_id':2}, {' ...

  8. Ajax与服务器(JSON)通信介绍

    本文主要介绍使用Ajax与服务器(JSON)通信方法,谈谈Ajax提供的两类服务器通信手段:同步通信和异步通信.有需要的可以了解一下.毕竟这个时代出了很多东西,自动化构建工具,mvvm框架等等.Jav ...

  9. 网络通信 --> 同步、异步、阻塞与非阻塞介绍

    同步.异步.阻塞与非阻塞介绍 聊聊同步.异步.阻塞与非阻塞

  10. ubuntu apt-get安装、卸载软件命令及如何查看日志

    linux亮红灯的我,开始学习linux,学习使我快乐,大家一起来学习... 1.安装软件命令 sudo apt-get apache2     安装apache,安装在默认路径下,指定路径安装,其实 ...