主页 > 创业  > 

Express中res响应方法详解

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, " example "); }); 六、`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"); });

标签:

Express中res响应方法详解由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Express中res响应方法详解