📜  Express.js 请求完整参考(1)

📅  最后修改于: 2023-12-03 15:14:57.652000             🧑  作者: Mango

Express.js 请求完整参考

Express.js是一个广泛使用的Node.js Web应用程序框架,它的主要功能是简化Web应用程序的开发,并提供了开箱即用的路由和中间件,它还提供了各种请求对象和响应对象的方法,以便于管理HTTP协议的请求和响应。

本文将介绍 Express.js 的请求对象的完整参考,包括请求属性、请求方法和请求事件。

请求属性

请求属性是 Express.js 中请求对象的具体属性,包括:

req.app

该属性返回express的应用程序对象,即app对象。

req.baseUrl

该属性返回当前路由被匹配的路径,即router.use(‘/user’, function(req, res, next) { })中的‘/user’。

req.body

该属性返回请求体,通常是POST或PUT请求中的请求参数。

req.cookies

该属性返回由cookie-parser中间件解析后的cookie集合。

req.fresh

该属性返回请求是否处于缓存状态。

req.hostname

该属性返回HTTP请求头中的host域名。

req.ip

该属性返回远程客户端的IP地址。

req.ips

该属性返回用于发出此请求的IP地址数组。

req.method

该属性返回HTTP请求方法(GET,POST,PUT等)。

req.originalUrl

该属性返回HTTP请求的原始URL。

req.params

该属性返回一个包含请求参数的对象,此对象通常由路由器提供。

req.path

该属性返回HTTP请求的路径部分。

req.protocol

该属性返回HTTP请求的协议部分(http或https)。

req.query

该属性返回一个包含查询字符串参数的对象。

req.route

该属性返回当前匹配的路由器。

req.secure

该属性返回请求是否使用HTTPS协议。

req.signedCookies

该属性返回由客户端通过签名的cookies集合。

req.stale

该属性返回请求是否为新鲜的缓存。

req.subdomains

该属性返回子域名字符串数组。

req.xhr

该属性返回请求是否是Ajax请求。

请求方法

请求方法是方法,用于在 Express.js 中操作请求对象。 Express.js 提供了许多请求方法,包括:

req.accepts(types)

该方法用于返回首选接受类型。

req.acceptsCharsets(charset)

该方法用于返回首选请求字符集。

req.acceptsEncodings(encoding)

该方法用于返回首选请求编码。

req.acceptsLanguages(lang)

该方法用于返回首选请求语言。

req.get(field)

该方法用于返回指定请求标头的值。

req.is(type)

该方法用于检查请求内容类型是否为指定的 MIME 类型。

请求事件

请求事件是 Express.js 中请求对象的事件。 Express.js 提供了许多请求事件,包括:

'close'

该事件在套接字端口关闭时触发。

'data'

该事件在数据可用的情况下触发。

'end'

该事件在接收到请求体的尾部时触发。

'error'

该事件在请求对象中发生错误时触发。

'pause'

该事件在数据流被暂停时触发。

'readable'

该事件在数据流可读时触发。

'resume'

该事件在恢复读取数据流时触发。

示例代码
const express = require('express');
const app = express();

app.use(express.urlencoded({ extended: true }));
app.use(express.json());

app.get('/', function(req, res){
    res.send('Hello World');
});

app.post('/', function(req, res){
    console.log(req.body);
    res.send('Data received');
});

app.listen(3000);

以上代码展示了使用 Express.js 接收 GET 和 POST 请求的方法,使用了常见的中间件来解析请求体,它演示了req.body,req.method,req.query和req.originalUrl属性的使用以及在错误情况下充当调试工具的控制台输出代码。