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");});
相关文章:
Express 中 res 响应方法详解
一、res.send() 1. 功能 该方法用于发送各种类型的响应,包括字符串、对象、数组、Buffer 等。它会自动设置响应的 Content-Type 头。 2. 示例代码 const express require("express");const app express();app.get("/", (req, res) > {…...
DeepAR:一种用于时间序列预测的深度学习模型
介绍 DeepAR是一种基于递归神经网络(RNN)的时间序列预测模型,由亚马逊在2017年提出。它特别适用于处理多变量时间序列数据,并能够生成概率预测。DeepAR通过联合训练多个相关时间序列来提高预测性能,从而在实际应用中表…...
权限模型深度解析:RBAC vs ABAC vs PBAC vs TBAC,如何选择最适合的方案?
在数字化系统的安全架构中,权限管理如同一把“隐形钥匙”,既需精准控制访问边界,又要灵活适配复杂多变的业务需求。从传统的角色划分到动态属性策略,从合规驱动的集中管控到任务流程的临时授权,RBAC、ABAC、PBAC、TBAC…...
Windows逆向工程入门之堆栈结构与信息获取
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 1. 堆栈结构基础 堆栈的主要操作: 2. 代码功能解析 2.1 加载 ntdll.dll 2.2 获取 NtQueryInformationThread 函数指针 2.3 调用 NtQueryInformationThread 获取线程信息…...
【c++初阶】类和对象②默认成员函数以及运算符重载初识
目录 编辑 默认成员函数: 构造函数 构造函数的特性: 析构函数: 拷贝构造函数: 1. 拷贝构造函数是构造函数的一个重载形式。 2. 拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器直接报…...
【做一个微信小程序】校园地图页面实现
前言 上一个教程我们实现了小程序的一些的功能,有背景渐变色,发布功能有的呢,已支持图片上传功能,表情和投票功能开发中(请期待)。下面是一个更高级的微信小程序实现,包含以下功能:…...
成熟开发者需具备的能力
精业务 • 指深入理解和熟悉所开发软件的业务逻辑和需求。 • 开发者需要明确软件要解决的问题、面向的用户群体以及核心功能等。 • 精业务有助于开发者更好地设计系统架构、编写符合业务需求的代码,并能根据业务变化灵活调整开发计划。 懂原理 • 指掌握编程的基…...
计算机毕业设计--基于深度学习技术(Yolov11、v8、v7、v5)算法的高效人脸检测模型设计与实现(含Github代码+Web端在线体验界面)
基于深度学习技术(Yolov11、v8、v7、v5)算法的高效人脸检测模型 Yolo算法应用之《基于Yolo的花卉识别算法模型设计》,请参考这篇CSDN作品👇 计算机毕业设计–基于深度学习技术(Yolov11、v8、v7、v5)算法的…...
力扣做题记录 (二叉树)
二叉树 打算先来了解二叉树基础,都是简单题,目的是熟悉代码格式和解题基础思路。 1、二叉树最大深度 二叉树最大深度 方法一、深度搜索 直接用原函数做递归,比较简单 /*** Definition for a binary tree node.* struct TreeNode {* …...
机试刷题_字符串的排列【python】
题目:字符串的排列 from os import dup # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # param str string字符串 # return string字符串一维数组 # class Solution:def backtrack(self,res,state,choi…...
百度智能云—千帆 ModelBuilder API的简单调用(Java)
百度简介 百度(Baidu)是拥有强大互联网基础的领先AI公司。百度愿景是:成为最懂用户,并能帮助人们成长的全球顶级高科技公司。 “百度”二字,来自于八百年前南宋词人辛弃疾的一句词:众里寻他千百度。这句话…...
unity学习43:子状态机 sub-state machine
目录 1sub-state machine子状态机 1.1 创建 sub-state machine 1.2 sub-state machine 内容 1.3 子状态机的应用 2 子状态机不同于blend tree的嵌套 3 应用例子:若角色拿不同武器的动画设计,可以使用2种方法 3.1 在1个图层layer里,使用…...
Qt MainWindow
文章目录 0. 概述1. 菜单栏 QMenuBar1.1 例子1,使用图形化界面1.2 例子2,使用代码创建1.3 例子3,添加快捷键1.4 例子4,添加子菜单1.5 例子5,添加分割线和图标1.6 内存泄漏问题 2. 工具栏 QToolBar2.1 例子1,…...
GDB QUICK REFERENCE (GDB 快速参考手册)
GDB QUICK REFERENCE {GDB 快速参考手册} References GDB QUICK REFERENCE GDB Version 4 https://users.ece.utexas.edu/~adnan/gdb-refcard.pdf 查看方式:在新标签页中打开图片 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/ [2] gdb-refc…...
【数据结构】 栈和队列
在计算机科学的世界里,数据结构是构建高效算法的基础。栈(Stack)和队列(Queue)作为两种基本且重要的数据结构,在软件开发、算法设计等众多领域都有着广泛的应用。今天,我们就来深入探讨一下栈和…...
AI视频创作教程:如何用AI让古画动起来。
事情缘由: 如果是简单的图,找原图直接写提示词即可。 如果碰到多人多活动的图,直接出的效果会很不好,那么该怎么做呢? 图片分模块 首先,复杂部分的图,把长图分多个模块。 比如这张图࿰…...
撕碎QT面具(1):Tab Widget转到某个Tab页
笔者未系统学过C语法,仅有Java基础,具体写法仿照于大模型以及其它博客。自我感觉,如果会一门对象语言,没必要先刻意学C,因为自己具有对象语言的基础,等需要用什么再学也不迟。毕竟不是专门学C去搞算法。 1…...
DeepSeek24小时写作机器人,持续创作高质量文案
内容创作已成为企业、自媒体和创作者的核心竞争力。面对海量的内容需求,人工创作效率低、成本高、质量参差不齐等问题日益凸显。如何在有限时间内产出高质量内容?DeepSeek写作机器人,一款24小时持续创作的智能工具,为企业和个人提…...
npm安装依赖(npm install)时遇到认证错误的解决方案
问题描述 在使用 npm install 安装依赖时遇到以下错误: npm error code E401 npm error Incorrect or missing password.解决方案 方案一:使用淘宝(或其它国内公共)镜像(如果已经是淘宝镜像跳过此步) 设…...
SpringBoot+微信小程序+数据可视化的宠物到家喂宠服务(程序+论文+讲解+安装+调试+售后等)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统介绍 在经济高速发展、物质生活极大丰富的当下,人们的精神需求愈发凸显࿰…...
智能游戏助手终极指南:如何用MAA彻底告别《明日方舟》重复操作?
智能游戏助手终极指南:如何用MAA彻底告别《明日方舟》重复操作? 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项…...
AISMM人才评估体系深度拆解(首次公开央行金融科技中心验证数据)
更多请点击: https://intelliparadigm.com 第一章:AISMM人才评估体系深度拆解(首次公开央行金融科技中心验证数据) 核心能力维度与权重分配 AISMM(Artificial Intelligence & Secure Systems Maturity Model&…...
绕过地域限制:利用国内IP池,采集仅限特定地区访问的内容
做数据采集时最郁闷的状况是什么?不是代码写不出来,而是你明明看到数据就在那里,网站却理直气壮把你的请求拒之门外。更令人摸不着头脑的是,同一份商品的价格在不同的城市切换了IP就变了,招聘同一内容同岗位在不同地区…...
保姆级教程:用Node.js + Proxy搞定瑞数6代反爬(附完整代理代码与避坑点)
Node.js逆向实战:突破瑞数6代防护的代理拦截技术 最近在分析某监管类网站时,遇到了瑞数6代的反爬机制。这种防护会检测Node.js环境并拦截爬虫请求,让不少开发者头疼。本文将分享一套完整的解决方案,从环境补全到代理拦截ÿ…...
D21: 周复盘 —— 流程是骨架,AI 是肌肉
文章目录 D21: 周复盘 —— 流程是骨架,AI 是肌肉 📊 Week3 效能数据对比 需求评审效率 代码审查效率 项目估算准确度 会议效率 跨部门协作响应速度 📊 Week3 流程重构全景图 🕳️ Week3 踩坑清单:5 个真实教训 踩坑 1:需求评审 AI 化后,过度依赖 AI 生成的需求分析 …...
OpenHarmony 4.0开发板不息屏实战:DAYU/rk3568上三种修改方法详解(附代码)
OpenHarmony 4.0开发板不息屏实战:DAYU/rk3568三种方案深度解析 在智能设备开发中,屏幕常亮是一个常见但关键的需求。无论是调试过程中的长时间监控,还是特定应用场景如数字标牌、工业控制面板,开发者都需要精准控制设备的显示状态…...
告别外置天线!手把手教你用HFSS仿真设计一个20x40mm的433MHz PCB蛇形天线
告别外置天线!手把手教你用HFSS仿真设计一个20x40mm的433MHz PCB蛇形天线 在物联网设备小型化的浪潮中,外置天线正逐渐成为制约产品设计的瓶颈。想象一下,当你需要将一个433MHz无线模块集成到仅有20x40mm的PCB空间时,传统的外置鞭…...
CodingBuddy:提升开发效率的智能编程伙伴插件系统
1. 项目概述:一个什么样的“编程伙伴”?最近在GitHub上看到一个挺有意思的项目,叫“codingbuddy”,直译过来就是“编程伙伴”。光看这个名字,你可能觉得它又是一个AI代码补全工具或者一个学习平台。但点进去仔细研究后…...
MAA明日方舟助手:终极自动化指南,告别重复劳动!
MAA明日方舟助手:终极自动化指南,告别重复劳动! 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地…...
深度实战指南:如何高效配置Windows任务栏透明化工具TranslucentTB
深度实战指南:如何高效配置Windows任务栏透明化工具TranslucentTB 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Translucen…...
