当前位置: 首页 > 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 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");

});

相关文章:

  • Docker 部署 MySQL 8 详细图文教程
  • JavaScript前端开发:构建交互式网页的魔法
  • 使用Actuator启动失败,Failed to start bean ‘documentationPluginsBootstrapper‘
  • 基于Django以及vue的电子商城系统设计与实现
  • 哈希-字母异位词分组
  • (20)从strlen到strtok:解码C语言字符函数的“生存指南1”
  • 信息服务商演化博弈模型研究
  • 最新智能优化算法:牛优化( Ox Optimizer,OX)算法求解经典23个函数测试集,MATLAB代码
  • Shell脚本和Python的工作路径
  • 滚动弹幕案例
  • 面基Spring Boot项目中实用注解一
  • 电子电气架构 --- 电子电器新技术及发展趋势
  • [JVM篇]垃圾回收器
  • Windows第九章 控件的介绍
  • 共指消解问题的早期研究成果主要来自自然语 言处理领域
  • AdaMix
  • PH热榜 | 2025-02-16
  • c语言基础09
  • 什么决定了硬件设计质量?
  • Web后端 - Maven管理工具
  • 苏州哪里做网站/西安全网优化
  • 高端网站建设苏州/seo商学院
  • 网站开发的硬件设备/如何建立个人网址
  • 网站的建立与运营/技能培训机构排名前十
  • 青州网站优化/永久免费linux服务器
  • 做国外有那些网站比较好的/小程序推广