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

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 Valueres.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.lryc.cn/news/537915.html

相关文章:

  • DeepAR:一种用于时间序列预测的深度学习模型
  • 权限模型深度解析:RBAC vs ABAC vs PBAC vs TBAC,如何选择最适合的方案?
  • Windows逆向工程入门之堆栈结构与信息获取
  • 【c++初阶】类和对象②默认成员函数以及运算符重载初识
  • 【做一个微信小程序】校园地图页面实现
  • 成熟开发者需具备的能力
  • 计算机毕业设计--基于深度学习技术(Yolov11、v8、v7、v5)算法的高效人脸检测模型设计与实现(含Github代码+Web端在线体验界面)
  • 力扣做题记录 (二叉树)
  • 机试刷题_字符串的排列【python】
  • 百度智能云—千帆 ModelBuilder API的简单调用(Java)
  • unity学习43:子状态机 sub-state machine
  • Qt MainWindow
  • GDB QUICK REFERENCE (GDB 快速参考手册)
  • 【数据结构】 栈和队列
  • AI视频创作教程:如何用AI让古画动起来。
  • 撕碎QT面具(1):Tab Widget转到某个Tab页
  • DeepSeek24小时写作机器人,持续创作高质量文案
  • npm安装依赖(npm install)时遇到认证错误的解决方案
  • SpringBoot+微信小程序+数据可视化的宠物到家喂宠服务(程序+论文+讲解+安装+调试+售后等)
  • 免费大模型网站
  • OpenCV的主要模块
  • 使用 Python 爬虫和 FFmpeg 爬取 B 站高清视频
  • Retrieval-Augmented Generation for LargeLanguage Models: A Survey
  • 2025年2月16日(numpy-deepseek)
  • C#windows窗体人脸识别
  • 【第11章:生成式AI与创意应用—11.1 文本生成与创意写作辅助的实现与优化】
  • 【Elasticsearch】通过运行时字段在查询阶段动态覆盖索引字段
  • 电解电容的参数指标
  • linux 内核编译报错 unknown assembler invoked
  • HTML,API,RestFul API基础