Node.js后端开发进阶 | express框架 之 res对象的常见方法 | 技术专家博客
2023-10-27 14:20:29
一、前言
在上一篇进阶文章中,我们学习了express框架中req对象的常见方法,掌握了如何获取请求相关的信息。在这一篇中,我们将继续学习express框架中另一个重要的对象:res对象。res对象代表HTTP响应,我们可以通过它向客户端发送响应数据、设置状态码、设置首部等。
二、浏览中文官网API
在学习res对象之前,我们首先需要了解express框架中文官网的API文档。在中文官网的API文档中,我们可以找到res对象的详细介绍,包括它的属性和方法。在学习res对象时,我们可以随时查阅API文档,以获得更准确的信息。
三、res(response)对象的一些常见方法
1、res.json([body])
res.json()方法用于向客户端发送JSON响应。它可以接收一个JSON对象作为参数,并将该对象转换成JSON字符串发送给客户端。
完整测试代码 :
const express = require('express');
const app = express();
app.get('/json', (req, res) => {
res.json({
name: '张三',
age: 18,
gender: '男',
});
});
app.listen(3000);
最终效果 :
当我们在浏览器中访问/json
路由时,会在控制台中看到以下JSON响应:
{
"name": "张三",
"age": 18,
"gender": "男"
}
2、res.redirect([status], url)
res.redirect()方法用于向客户端发送重定向响应。它可以接收一个状态码和一个URL作为参数,并将客户端重定向到指定的URL。
完整测试代码 :
const express = require('express');
const app = express();
app.get('/redirect', (req, res) => {
res.redirect(302, '/home');
});
app.listen(3000);
最终效果 :
当我们在浏览器中访问/redirect
路由时,会被重定向到/home
路由。
3、res.status(code)
res.status()方法用于设置HTTP响应的状态码。它可以接收一个状态码作为参数,并将该状态码发送给客户端。
完整测试代码 :
const express = require('express');
const app = express();
app.get('/status', (req, res) => {
res.status(200).send('OK');
});
app.listen(3000);
最终效果 :
当我们在浏览器中访问/status
路由时,会在控制台中看到以下响应:
HTTP/1.1 200 OK
OK
4、res.sendFile(path)
res.sendFile()方法用于向客户端发送文件。它可以接收一个文件路径作为参数,并将该文件发送给客户端。
完整测试代码 :
const express = require('express');
const app = express();
app.get('/file', (req, res) => {
res.sendFile('./index.html');
});
app.listen(3000);
最终效果 :
当我们在浏览器中访问/file
路由时,会在浏览器中看到index.html
文件的内容。
5、res.set(field, value)
res.set()方法用于设置HTTP响应的首部。它可以接收一个首部字段和一个值作为参数,并将该首部字段和值发送给客户端。
完整测试代码 :
const express = require('express');
const app = express();
app.get('/set', (req, res) => {
res.set('Content-Type', 'text/html');
res.send('<h1>Hello, World!</h1>');
});
app.listen(3000);
最终效果 :
当我们在浏览器中访问/set
路由时,会在浏览器中看到以下HTML代码:
<h1>Hello, World!</h1>