Node.js - 请求对象


req对象表示 HTTP 请求,并具有请求查询字符串、参数、正文、HTTP 标头等属性。

请求对象属性

以下是与请求对象关联的几个属性的列表。

先生。 属性及说明
1

请求程序

此属性保存对使用中间件的 Express 应用程序实例的引用。

2

请求基址

挂载路由器实例的 URL 路径。

3

请求体

包含请求正文中提交的数据的键值对。默认情况下,它是未定义的,当您使用正文解析中间件(例如body-parser)时会填充它

4

请求cookies

当使用 cookie-parser 中间件时,此属性是一个包含请求发送的 cookie 的对象。

5

要求新鲜

指示请求是否“新鲜”。它与 req.stale 相反。

6

请求主机名

包含“Host”HTTP 标头中的主机名。

7

请求IP

请求的远程IP地址。

8

请求ips

当信任代理设置为 true 时,此属性包含“X-Forwarded-For”请求标头中指定的 IP 地址数组。

9

请求原始 URL

这个属性很像req.url;但是,它保留了原始请求 URL,允许您自由重写 req.url 以用于内部路由目的。

10

请求参数

包含映射到命名路由“参数”的属性的对象。例如,如果您有路由 /user/:name,则“name”属性可用作 req.params.name。该对象默认为 {}。

11

请求路径

包含请求 URL 的路径部分。

12

请求协议

使用 TLS 请求时的请求协议字符串“http”或“https”。

13

请求查询

包含路由中每个查询字符串参数的属性的对象。

14

请求路由

当前匹配的路由,一个字符串。

15

要求安全

如果建立了 TLS 连接,则为 true 的布尔值。

16

req.signedCookies

使用 cookie 解析器中间件时,此属性包含请求发送的已签名 cookie、未签名且可供使用的 cookie。

17 号

请求陈旧

指示请求是否“陈旧”,与 req.fresh 相反。

18

请求子域

请求域名中的子域数组。

19

请求.xhr

如果请求的“X-Requested-With”标头字段是“XMLHttpRequest”,则为 true 的布尔值,表示该请求是由客户端库(例如 jQuery)发出的。

请求对象方法

请求接受(类型)

req.accepts(types)

此方法根据请求的 Accept HTTP 标头字段检查指定的内容类型是否可接受。以下是一些例子 -

// Accept: text/html
req.accepts('html');
// => "html"

// Accept: text/*, application/json
req.accepts('html');

// => "html"
req.accepts('text/html');
// => "text/html"

请求.get(字段)

req.get(field)

该方法返回指定的HTTP请求头字段。以下是一些例子 -

req.get('Content-Type');
// => "text/plain"

req.get('content-type');
// => "text/plain"

req.get('Something');
// => undefined

请求.is(类型)

req.is(type)

如果传入请求的“Content-Type”HTTP 标头字段与 type 参数指定的 MIME 类型匹配,则此方法返回 true。以下是一些例子 -

// With Content-Type: text/html; charset=utf-8
req.is('html');
req.is('text/html');
req.is('text/*');
// => true

req.param(名称[,默认值])

req.param(name [, defaultValue])

此方法返回参数名称(如果存在)的值。以下是一些例子 -

// ?name=tobi
req.param('name')
// => "tobi"

// POST name=tobi
req.param('name')
// => "tobi"

// /user/tobi for /user/:name 
req.param('name')
// => "tobi"
nodejs_express_framework.htm