Express 中 res 响应方法详解

打印 上一主题 下一主题

主题 971|帖子 971|积分 2913

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、`res.send()`

1. 功能

该方法用于发送各种类型的响应,包罗字符串、对象、数组、Buffer 等。它会主动设置响应的 `Content-Type` 头。
2. 示例代码

  1. const express = require("express");
  2. const app = express();
  3. app.get("/", (req, res) => {
  4.   res.send("Hello, World!");
  5. });
  6. app.get("/data", (req, res) => {
  7.   const data = { message: "This is some data" };
  8.   res.send(data);
  9. });
  10. const port = 3000;
  11. app.listen(port, () => {
  12.   console.log(`Server running on port ${port}`);
  13. });
复制代码
二、`res.json()`

1. 功能

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

  1. app.get("/json-data", (req, res) => {
  2.   const jsonData = { name: "John", age: 30 };
  3.   res.json(jsonData);
  4. });
复制代码
三、`res.sendFile()`

1. 功能

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

  1. const path = require("path");
  2. app.get("/download", (req, res) => {
  3.   const filePath = path.join(__dirname, "public", "example.txt");
  4.   res.sendFile(filePath);
  5. });
复制代码
四、`res.status()`

1. 功能

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

  1. app.get("/error", (req, res) => {
  2.   res.status(404).send("Page not found");
  3. });
复制代码
五、`res.redirect()`

1. 功能

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

  1. app.get("/old-page", (req, res) => {
  2.   res.redirect("/new-page");
  3. });
  4. app.get("/permanent-redirect", (req, res) => {
  5.   res.redirect(301, "https://example.com");
  6. });
复制代码
六、`res.set()` 和 `res.get()`

1. 功能

`res.set()` 用于设置响应头。可以传入一个键值对来设置单个响应头,也可以传入一个对象来一次性设置多个响应头。
`res.get()` 用于获取响应头的值。
2. 示例代码

  1. app.get("/custom-header", (req, res) => {
  2.   res.set("Custom-Header", "Custom Value");
  3.   const headerValue = res.get("Custom-Header");
  4.   console.log(headerValue); // 输出: Custom Value
  5.   res.send("Response with custom header");
  6. });
复制代码
七、`res.cookie()`

1. 功能

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

  1. const cookieParser = require("cookie-parser");
  2. app.use(cookieParser());
  3. app.get("/set-cookie", (req, res) => {
  4.   res.cookie("username", "John", { maxAge: 900000, httpOnly: true });
  5.   res.send("Cookie set");
  6. });
复制代码
八、`res.clearCookie()`

1. 功能

用于扫除客户端的 Cookie。必要指定要扫除的 Cookie 的名称。
2. 示例代码

  1. app.get("/clear-cookie", (req, res) => {
  2.   res.clearCookie("username");
  3.   res.send("Cookie cleared");
  4. });
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

写过一篇

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表