返回

Node.js后端开发进阶 | express框架 之 res对象的常见方法 | 技术专家博客

后端

一、前言

在上一篇进阶文章中,我们学习了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>