当前位置: 首页 > article >正文

Express 中 res 响应方法详解

一、`res.send()`

1. 功能

该方法用于发送各种类型的响应,包括字符串、对象、数组、Buffer 等。它会自动设置响应的 `Content-Type` 头。

2. 示例代码

const express = require("express");

const app = express();

app.get("/", (req, res) => {

  res.send("Hello, World!");

});

app.get("/data", (req, res) => {

  const data = { message: "This is some data" };

  res.send(data);

});

const port = 3000;

app.listen(port, () => {

  console.log(`Server running on port ${port}`);

});

二、`res.json()`

1. 功能

专门用于发送 JSON 响应,它会将传入的对象或数组转换为 JSON 字符串,并设置 `Content-Type` 为 `application/json`。

2. 示例代码

app.get("/json-data", (req, res) => {

  const jsonData = { name: "John", age: 30 };

  res.json(jsonData);

});

三、`res.sendFile()`

1. 功能

用于发送文件作为响应,需要指定文件的绝对路径。可以设置一些可选参数,如 `root` 来指定文件的根目录。

2. 示例代码

const path = require("path");

app.get("/download", (req, res) => {

  const filePath = path.join(__dirname, "public", "example.txt");

  res.sendFile(filePath);

});

四、`res.status()`

1. 功能

用于设置响应的 HTTP 状态码,它可以链式调用其他响应方法。

2. 示例代码

app.get("/error", (req, res) => {

  res.status(404).send("Page not found");

});

五、`res.redirect()`

1. 功能

用于将客户端重定向到另一个 URL。可以指定相对路径或绝对路径,还可以设置重定向的状态码(默认为 302)。

2. 示例代码

app.get("/old-page", (req, res) => {

  res.redirect("/new-page");

});

app.get("/permanent-redirect", (req, res) => {

  res.redirect(301, "https://example.com");

});

六、`res.set()` 和 `res.get()`

1. 功能

`res.set()` 用于设置响应头。可以传入一个键值对来设置单个响应头,也可以传入一个对象来一次性设置多个响应头。

`res.get()` 用于获取响应头的值。

2. 示例代码

app.get("/custom-header", (req, res) => {

  res.set("Custom-Header", "Custom Value");

  const headerValue = res.get("Custom-Header");

  console.log(headerValue); // 输出: Custom Value

  res.send("Response with custom header");

});

七、`res.cookie()`

1. 功能

用于设置 HTTP Cookie。可以指定 Cookie 的名称、值以及一些可选参数,如过期时间、路径、域等。

2. 示例代码

const cookieParser = require("cookie-parser");

app.use(cookieParser());

app.get("/set-cookie", (req, res) => {

  res.cookie("username", "John", { maxAge: 900000, httpOnly: true });

  res.send("Cookie set");

});

八、`res.clearCookie()`

1. 功能

用于清除客户端的 Cookie。需要指定要清除的 Cookie 的名称。

2. 示例代码

app.get("/clear-cookie", (req, res) => {

  res.clearCookie("username");

  res.send("Cookie cleared");

});


http://www.kler.cn/a/549321.html

相关文章:

  • kubectl top输出与Linux free命令不一致原因?
  • BGP配置华为——RR反射器配置
  • HCIA项目实践---ACL访问控制列表相关知识和配置过程
  • Spring框架中都用到了哪些设计模式?
  • InspireMusic - 阿里通义实验室开源音乐生成框架 支持音乐、歌曲、音频生成 本地一键整合包下载
  • 24、深度学习-自学之路-卷积神经网络
  • 图论(三):图距离——寻找并绘制最短路径图距离矩阵平均图距离离心率图直径/边缘点/半径/中心点
  • OnlyOffice编辑器下载失败排查与解决方案
  • 笔记: 利用二极管、三极管、MOS管搭建过压保护电路
  • Postman中的代理艺术:配置与使用指南
  • 蓝桥杯(B组)-每日一题(阶乘求和)
  • HTML之JavaScript常见事件
  • SQL-leetcode—1667. 修复表中的名字
  • Mac Golang 开发环境配置
  • 从零搭建微服务项目(第7章——微服务网关模块基础实现)
  • 【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
  • Redis基础——1、Linux下安装Redis(超详细)
  • MyBatis映射文件常用元素详解与示例
  • Flutter 常见布局模型
  • 【LeetCode】LCR 120. 寻找文件副本