- 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 WHERE 子句
- Node.js - MySQL ORDER BY 子句
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL JOIN 操作
- 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 LIMIT 子句
- Node.js - MongoDB JOIN 操作
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - 响应对象
res 对象表示 Express 应用程序在接收到 HTTP 请求时发送的 HTTP 响应。
响应对象属性
以下是与响应对象关联的一些属性列表。
序号 | 属性及描述 |
---|---|
1 |
res.app 此属性保存对正在使用中间件的 Express 应用程序实例的引用。 |
2 |
res.headersSent 布尔属性,指示应用程序是否已为响应发送 HTTP 标头。 |
3 |
res.locals 一个对象,包含作用域限定到请求的响应本地变量 |
响应对象方法
res.append(field [, value])
res.append(field [, value])
此方法将指定的值追加到 HTTP 响应标头字段。以下是一些示例 -
res.append('Link', ['<https://127.0.0.1/>', '<https://127.0.0.1:3000/>']); res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly'); res.append('Warning', '199 Miscellaneous warning');
res.attachment([filename])
res.attachment([filename])
此方法用于在 HTTP 响应中将文件作为附件发送。以下是一些示例 -
res.attachment('path/to/logo.png');
res.cookie(name, value [, options])
res.cookie(name, value [, options])
此方法用于将 cookie 名称设置为值。value 参数可以是字符串或转换为 JSON 的对象。以下是一些示例 -
res.cookie('name', 'tobi', { domain: '.example.com', path: '/admin', secure: true }); res.cookie('cart', { items: [1,2,3] }); res.cookie('cart', { items: [1,2,3] }, { maxAge: 900000 });
res.clearCookie(name [, options])
res.clearCookie(name [, options])
此方法用于清除由名称指定的 cookie。以下是一些示例 -
res.cookie('name', 'tobi', { path: '/admin' }); res.clearCookie('name', { path: '/admin' });
res.download(path [, filename] [, fn])
res.download(path [, filename] [, fn])
此方法用于将 path 位置的文件作为“附件”传输。通常,浏览器会提示用户下载。以下是一些示例 -
res.download('/report-12345.pdf'); res.download('/report-12345.pdf', 'report.pdf'); res.download('/report-12345.pdf', 'report.pdf', function(err){ });
res.end([data] [, encoding])
res.end([data] [, encoding])
此方法用于结束响应过程。以下是一些示例 -
res.end(); res.status(404).end();
res.format(object)
res.format(object)
此方法用于在请求对象上存在的 Accept HTTP 标头上执行内容协商。以下是一些示例 -
res.format ({ 'text/plain': function() { res.send('hey'); }, 'text/html': function() { res.send('hey'); }, 'application/json': function() { res.send({ message: 'hey' }); }, 'default': function() { // log the request and respond with 406 res.status(406).send('Not Acceptable'); } });
res.get(field)
res.get(field)
此方法用于返回由 field 指定的 HTTP 响应标头。这是一个示例 -
res.get('Content-Type');
res.json([body])
res.json([body])
此方法用于发送 JSON 响应。以下是一些示例 -
res.json(null) res.json({ user: 'tobi' }) res.status(500).json({ error: 'message' })
res.jsonp([body])
res.jsonp([body])
此方法用于发送具有 JSONP 支持的 JSON 响应。以下是一些示例 -
res.jsonp(null) res.jsonp({ user: 'tobi' }) res.status(500).jsonp({ error: 'message' })
res.links(links)
res.links(links)
此方法用于连接作为参数属性提供的链接,以填充响应的 Link HTTP 标头字段。以下是一些示例 -
res.links ({ next: 'http://api.example.com/users?page=2', last: 'http://api.example.com/users?page=5' });
res.location(path)
res.location(path)
此方法用于根据指定的 path 参数设置响应 Location HTTP 标头字段。以下是一些示例 -
res.location('/foo/bar'); res.location('foo/bar'); res.location('http://example.com');
res.redirect([status,] path)
res.redirect([status,] path)
此方法用于重定向到从指定的 path 派生的 URL,并使用指定的 HTTP 状态代码 status。以下是一些示例 -
res.redirect('/foo/bar'); res.redirect('http://example.com'); res.redirect(301, 'http://example.com');
res.render(view [, locals] [, callback])
res.render(view [, locals] [, callback])
此方法用于呈现视图并将呈现的 HTML 字符串发送到客户端。以下是一些示例 -
// send the rendered view to the client res.render('index'); // pass a local variable to the view res.render('user', { name: 'Tobi' }, function(err, html) { // ... });
res.send([body])
res.send([body])
此方法用于发送 HTTP 响应。以下是一些示例 -
res.send(new Buffer('whoop')); res.send({ some: 'json' }); res.send('<p>some html</p>');
res.sendFile(path [, options] [, fn])
res.sendFile(path [, options] [, fn])
此方法用于传输给定路径下的文件。根据文件名扩展名设置 Content-Type 响应 HTTP 标头字段。这是一个示例 -
res.sendFile(fileName, options, function (err) { // ... });
res.sendStatus(statusCode)
res.sendStatus(statusCode)
此方法用于将响应 HTTP 状态代码设置为 statusCode 并将其字符串表示形式作为响应主体发送。以下是一些示例 -
res.sendStatus(200); // equivalent to res.status(200).send('OK') res.sendStatus(403); // equivalent to res.status(403).send('Forbidden') res.sendStatus(404); // equivalent to res.status(404).send('Not Found') res.sendStatus(500); // equivalent to res.status(500).send('Internal Server Error')
res.set(field [, value])
res.set(field [, value])
此方法用于将响应的 HTTP 标头字段设置为 value。以下是一些示例 -
res.set('Content-Type', 'text/plain'); res.set ({ 'Content-Type': 'text/plain', 'Content-Length': '123', 'ETag': '12345' })
res.status(code)
res.status(code)
此方法用于设置响应的 HTTP 状态。以下是一些示例 -
res.status(403).end(); res.status(400).send('Bad Request'); res.status(404).sendFile('/absolute/path/to/404.png');
res.type(type)
res.type(type)
此方法用于将 Content-Type HTTP 标头设置为 MIME 类型。以下是一些示例 -
res.type('.html'); // => 'text/html' res.type('html'); // => 'text/html' res.type('json'); // => 'application/json' res.type('application/json'); // => 'application/json' res.type('png'); // => image/png: