- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - 请求对象
req 对象代表 HTTP 请求,并具有请求查询字符串、参数、正文、HTTP 标头等的属性。
请求对象属性
以下是与请求对象关联的一些属性列表。
序号 | 属性及描述 |
---|---|
1 |
req.app 此属性保存对正在使用中间件的 Express 应用程序实例的引用。 |
2 |
req.baseUrl 安装路由实例的 URL 路径。 |
3 |
req.body 包含在请求正文中提交的数据的键值对。默认情况下,它是未定义的,在使用正文解析中间件(例如 body-parser)时填充。 |
4 |
req.cookies 使用 cookie-parser 中间件时,此属性是一个包含请求发送的 Cookie 的对象。 |
5 |
req.fresh 指示请求是否“新鲜”。它是 req.stale 的反义词。 |
6 |
req.hostname 包含来自“Host”HTTP 标头的主机名。 |
7 |
req.ip 请求的远程 IP 地址。 |
8 |
req.ips 当 trust proxy 设置为 true 时,此属性包含“X-Forwarded-For”请求标头中指定的 IP 地址数组。 |
9 |
req.originalUrl 此属性类似于 req.url;但是,它保留原始请求 URL,允许您自由地重写 req.url 以用于内部路由目的。 |
10 |
req.params 一个包含映射到命名路由“参数”的属性的对象。例如,如果您有路由 /user/:name,则“name”属性可用作 req.params.name。此对象默认为 {}。 |
11 |
req.path 包含请求 URL 的路径部分。 |
12 |
req.protocol 请求协议字符串,“http”或使用 TLS 请求时的“https”。 |
13 |
req.query 一个对象,其中包含路由中每个查询字符串参数的属性。 |
14 |
req.route 当前匹配的路由,一个字符串。 |
15 |
req.secure 一个布尔值,如果建立了 TLS 连接则为 true。 |
16 |
req.signedCookies 使用 cookie-parser 中间件时,此属性包含请求发送的已签名 Cookie,未签名且已准备好使用。 |
17 |
req.stale 指示请求是否“陈旧”,并且是 req.fresh 的反义词。 |
18 |
req.subdomains 请求域名中的子域名数组。 |
19 |
req.xhr 一个布尔值,如果请求的“X-Requested-With”标头字段为“XMLHttpRequest”,则为 true,表示请求是由 jQuery 等客户端库发出的。 |
请求对象方法
req.accepts(types)
req.accepts(types)
此方法根据请求的 Accept HTTP 标头字段检查指定的 content types 是否可接受。以下是一些示例:
// Accept: text/html req.accepts('html'); // => "html" // Accept: text/*, application/json req.accepts('html'); // => "html" req.accepts('text/html'); // => "text/html"
req.get(field)
req.get(field)
此方法返回指定的 HTTP 请求标头字段。以下是一些示例:
req.get('Content-Type'); // => "text/plain" req.get('content-type'); // => "text/plain" req.get('Something'); // => undefined
req.is(type)
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(name [, defaultValue])
req.param(name [, defaultValue])
此方法在存在时返回 param name 的值。以下是一些示例:
// ?name=tobi req.param('name') // => "tobi" // POST name=tobi req.param('name') // => "tobi" // /user/tobi for /user/:name req.param('name') // => "tobi"