美文网首页
Express系列(三)

Express系列(三)

作者: 笑红尘123 | 来源:发表于2019-12-03 21:52 被阅读0次

Express之get和post请求

一、get请求

网站开发中,get都用作数据获取和查询,类似于数据库中的查询操作,当服务器解析前台资源后即传输相应内容;而查询字符串是在url上进行的,形如:
http://localhost:3000/login?username=tom&password=123456

get请求的一些特点:
<1>get请求可被缓存
<2>get请求保留在浏览器历史记录中
<3>get请求可被收藏为书签
<4>get请求不应在处理敏感数据时使用
<5>get请求有长度限制
<6>get请求只应当用于取回数据

响应的话则通过:
获取全部数据:

req.query

获取具体数据:

req.query.username
req.query.password

二、post 请求

post方法作为http请求必须会使用与,和get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新。相比于get请求,post所请求的数据会更加安全。在get请求会在地址栏显示输入的用户名和密码(有中文时会转化为BASE64加密),而post请求则会将数据放入http包的包体中,这使得别人无法直接看到用户名和密码,增加网站的安全性

Express处理post请求的几种方式:

1.form
首先我们得知道在form表单进行post请求,enctype属性一般设为“application/x-www-form-urlencoded”,如果设置成multipart/form-data,则多用于文件上传,如下:

<form action="http://localhost:3000" method="post" enctype="application/x-www-form-urlencoded">
</form>

2.body-parser
express中默认都使用body-parser作为请求体解析post数据,这个模块也能解析:json、raw、文本、URL-encoded格式的请求体。首先在项目目录安装body-parser:

npm  install body-parser --save

使用:

var express=require("express")
var bodyParser=require("body-parser")
// 解析以 application/json 和 application/x-www-form-urlencoded 提交的数据
 app.use(bodyParser.json();)
app.use(bodyParser.urlencoded({ extended: false }));

bodyParser.json()很明显是将json作为消息主题,再且常见的语言和浏览器大都支持json规范,使得json处理起来不会遇上兼容性问题。
application/x-www-form-urlencoded,如果form表单不设置enctype属性,那么他默认就会是这种。之后获取数据:

//app.js
const express=require("express");
const bodyParser=require("body-parser");
var app=express();
// 解析application/json数据
app.use(bodyParser.json())
// 解析application/x-www-form-urlencoded数据
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/',function(req,res){
    res.send(req.body);
});
app.listen(3000);

3.connect-multiparty
connect-multiparty多用于文件上传,但是也可以post请求的数据,先安装

npm install connect-multiparty --save
const multipart = require('connect-multiparty');
var multipartMiddleware = multipart();

同样我们也采用req.body来获取参数:

app.post('/',multipartMiddleware,function(req,res){
    res.send(req.body);
});

相比于body-parser,代码量似乎更少一些,但我还是建议使用body-parser,根据官方说法,他会在服务器上创建临时文件,并且永远不会去清理它们,这会相当两会系统资源,所以不到万不得已请不要去使用它。

如果感觉有帮助留下一个宝贵的赞,或者给小编一个赞赏!!!

相关文章

  • Express系列(三)

    Express之get和post请求 一、get请求 网站开发中,get都用作数据获取和查询,类似于数据库中的查询...

  • MEAN 笔记

    Express Express Basic 通常在express或者是MEAN的入口js文件中使用到一系列的设置,...

  • express复习大纲

    express复习 express 三步走引入express (需要下载 api地址-》npm) 1. 下载 ...

  • Express 框架

    Express 简介 Express是基于Node.js平台的快速、开放、极简的web应用开发框架。 提供了一系列...

  • Node.js+Express+MongoDB 建站实例

    本项目为系列博客,目前有以下系列 [ Node.js+Express+MongoDB 建站实例(1)-- 网站初始...

  • Express系列(六)

    session 一、什么是session? session是另一种记录客户状态的机制,与cookie保存在客户端浏...

  • Express系列(七)

    express模版引擎之ejs 随着前端业务的不断发展,页面交互逻辑的不断提高,让数据和界面实现分离渐渐被提了出来...

  • Express系列(八)

    express之模版引擎jade 一、什么是jade? jade模板引擎相较于原来的html会显得更加简洁,它将标...

  • Express系列(五)

    Cookie 当关闭一个登录过的网址并重新打开它后,我们的登录信息依然没有丢失;当我们浏览了商品后历史记录里出现了...

  • Express系列(四)

    中间件 中间件的作用主要是做中间代理操作,中间件就是在做接收到请求和发送响应中间的一系列操作。express是一个...

网友评论

      本文标题:Express系列(三)

      本文链接:https://www.haomeiwen.com/subject/yjphgctx.html